以下、図面を参照して本発明の実施形態について説明する。
〔第1実施形態〕〈概要〉
まず初めに本実施形態の概要を説明しておくことにする。上述した第1の従来例〜第3の従来例のように、リフレッシュを行ってから外部のアクセス要求に対応した読み出し・書き込みを行うとアドレスアクセス時間TAAが大きくなってしまう。こうしたことから本実施形態では、外部からアクセス要求があった場合、このアクセス要求に対応した読み出し又は書き込みを行ったのちにリフレッシュを行うようにしている。ただ、それだけでは第3の従来例や第4の従来例について指摘したような不都合が生じてしまう。そこで本実施形態ではメモリセルへの書き込みのためにレイトライト(Late Write)を行って、書き込み時間およびメモリサイクルの短縮化を図っている。
すなわち、外部から書き込み要求が与えられたメモリサイクルでは、与えられた書き込みアドレスおよび書き込みデータを半導体記憶装置内部に取り込むだけの動作にとどめ、これら書き込みアドレスおよび書き込みデータは次に書き込み要求があるときまで内部に保持しておく。メモリセルへの実際の書き込み動作は当該メモリサイクルでは行わずに、次に書き込み要求が入力されたメモリサイクルで行うようにする。つまり、メモリセルに対する書き込み動作を次の書き込み要求があるメモリサイクルまで遅延させるのがレイトライトである。
レイトライトでは直前の書き込み要求時に与えられた書き込みアドレス及び書き込みデータを取り込んであるため、次の書き込み要求が為されてメモリセルに実際に書き込む時点では書き込みアドレスおよび書き込みデータの双方の値が確定している。このため、書き込みイネーブル信号を有効化しさえすれば、直前の書き込み要求に対応したメモリセルへの書き込み動作を開始させることができ、上述した従来例のように書き込みイネーブル信号や書き込みデータが確定しないために、メモリサイクルに空き時間が生じてしまうことはなくなる。
言い換えると、外部から書き込み要求があった場合には、当該書き込み要求に関する書き込みアドレス及び書き込みデータの取り込み動作と、直前の書き込み要求に対応したメモリセルへの書き込み動作およびこれに続くリフレッシュ動作とが並行して行われる。本実施形態では、従来例のように書き込みデータの取り込み,メモリセルへの書き込み,ビット線のプリチャージを逐次的に行わずに済み、並行動作させている時間分だけメモリサイクルを短縮することが可能である。また、書き込み要求に付随して与えられる書き込みデータは次の書き込み要求時に使用されるため、リフレッシュ動作が終わるまでに書き込みデータが確定して内部に取り込まれるようになっていれば良い。したがって、従来例のように書き込みデータがいつ確定するかによって書き込み時間が左右されることはなく、書き込み時間を一定とすることができる。
ここで、本実施形態では半導体記憶装置外部から見たときの仕様として、書き込み要求が行われる場合には、アドレススキュー期間内に書き込みイネーブル信号を有効化させるという条件を課している。ここで言う「アドレススキュー期間」とは、アクセスアドレス(チップセレクト信号が無効状態から有効状態になった場合も同じ扱いであって、以下の説明において同様)の何れかのビットが最初に変化した時点を基準として、この時点からアドレスの持つスキューに相当する時間が経過した時点までを指している。換言すると、アドレススキュー期間は、アクセスアドレスが変化し始めてから全てのアドレスにおいてその値が確定するまでの期間に等しい。
通常、半導体記憶装置にアクセスするCPU(中央処理装置)などは、システムバスに対してアクセスアドレスの各ビットをほぼ同タイミングで送出するように設計されている。しかし実際には、CPUの出力ピンにおけるアクセスアドレスの出力タイミングはビット毎に微妙に異なっている。これに加えて、CPUから半導体記憶装置に至るシステムバス上の配線パターンの長さや引き回し方はアドレスのビット毎に異なっており、これらを全く均一にすることは事実上不可能である。こうしたことから、アドレスの各ビットが半導体記憶装置の入力ピンに到達する時刻はビット毎にばらつくようになってこれがスキューとなる。
本実施形態において上記のような条件を課しているのは次のような理由によるものである。すなわち、汎用SRAMの仕様では、書き込みイネーブル信号や書き込みデータがアドレス変化に対して非同期的に与えられ、書き込みイネーブル信号が有効になった時点で初めて外部からのアクセスが書き込み要求であることが判明する。しかし、書き込みイネーブル信号や書き込みデータがいつ確定するかは予測できず、一方で、読み出しデータをできる限り早く得るには、アドレススキュー期間が経過してアドレスが確定した時点からすぐに読み出し動作を開始させるのが望ましいと言える。したがって、アドレス変化があってから書き込みイネーブル信号や書き込みデータが有効になるまでの間は、外部からのアクセスが読み出し要求であることを想定した動作を行う必要がある。
ところが、外部からのアクセス要求が実際には読み出しではなく書き込みであったとしても、本実施形態のようにDRAMメモリセルを用いた構成では、既に始まっている読み出し動作(この場合はダミーの読み出しとなる)が完了するまでこれを中断することはできない。というのも、上述したようにDRAMメモリセルは破壊読み出しによってデータをセンスするため、再書き込みを行うことなく読み出し動作を中断して書き込み動作に移行させてしまうと、読み出しを行っている途中のワード線に接続されたメモリセルのデータが全て破壊されてしまうからである。
ここで、読み出しを行っていた全てのメモリセルに対して書き込みを行うわけではないので、読み出し動作を中断しても良いことにはならない。のみならず、本実施形態のようにレイトライトを行う場合には、ダミーの読み出しのアドレス(すなわち、当該メモリサイクルで与えられた書き込みアドレス)とレイトライトのアドレス(すなわち、直前の書き込み要求のメモリサイクルで与えられた書き込みアドレス)は一致していないのが普通であって、この点からしても読み出し動作を中断することはできない。
以上のように、アドレススキュー期間内に書き込みイネーブル信号を入力するようにしないと、ダミーの読み出し動作が完了するまで書き込み動作の開始が遅れてしまうことになる。確かに、ダミーの読み出しとそれに続く書き込みおよびリフレッシュが、予め決めておいた1メモリサイクルの期間内に収まるようであれば、特に問題はないとも考えうる。しかし、書き込みイネーブル信号が非同期的に有効化される以上、こうした条件が常に満たされるとは限らず、ダミーの読み出しと外部からの書き込み要求が衝突して書き込み及びリフレッシュが遅れてしまう可能性を完全になくすことはできない。
またそれ以上に問題なのは、ダミーの読み出し動作が生じると、1メモリサイクルが「ダミーの読み出し時間+書き込み時間+リフレッシュ時間」に延びてしまうことが挙げられる。以上のように、書き込みイネーブル信号がアドレススキュー期間よりも後のタイミングで有効化されるとメモリサイクルが長くなってしまう。したがって、書き込みイネーブル信号をアドレススキュー期間内に有効化させる仕様とするのが望ましいと言える。
〈構成の説明〉
図1は本実施形態による半導体記憶装置の構成を示すブロック図である。同図において、アドレスAddress は半導体記憶装置外部から供給されるアクセスアドレスである。後述するメモリセルアレイが行列状に配列されていることに対応して、アドレスAddress は行アドレスおよび列アドレスを含んでいる。アドレスバッファ1はこのアドレスAddress をバッファリングして出力する。
ラッチ2は、ラッチ制御信号LCが"L"レベルである間(つまり、ラッチ制御信号LCが立ち下がったときから次に立ち上がるまでの間)はアドレスバッファ1から供給されているアドレスをそのまま内部アドレスLC_ADDとして出力する。
また、ラッチ2はアドレスバッファ1から供給されているアドレスをラッチ制御信号LCの立ち上がりで取り込んでラッチ制御信号LCが"H"レベルである間これを保持するとともに、保持しているアドレスを内部アドレスLC_ADDとして出力する。
次に、レジスタ回路3に供給される制御信号LW1および後述する制御信号LW2は何れもレイトライト動作を制御するための信号である。これら制御信号は何れもレイトライトを行う場合に“H”レベルに設定され、そうでない場合には“L”レベルに設定される。レジスタ回路3はアドレスAddress のビット幅に等しいアクセスアドレスを保持するためのレジスタ(以下「アドレスレジスタ」という)を内蔵している。
そして制御信号LW1が“L”レベルであれば、レジスタ回路3は入力された内部アドレスLC_ADDをそのまま内部アドレスL_ADD として出力する。一方、制御信号LW1が“H”レベルであれば、レジスタ回路3は内部アドレスLC_ADDではなくアドレスレジスタに保持されているアドレスを内部アドレスL_ADD として出力する。また、レジスタ回路3は制御信号LW1の立ち下がりエッジにおいて、次のレイトライトのために内部アドレスLC_ADDを内部のレジスタに取り込む。さらに、レジスタ回路3は入力された内部アドレスLC_ADDとアドレスレジスタが保持するアドレスをビット毎に比較するコンパレータを備えており、コンパレータは両者の全ビットが一致した場合にはヒット信号HITに“H”レベルを出力し、何れか1ビットでも不一致であれば“L”レベルを出力する。
以下に述べるように、このヒット信号HITは半導体記憶装置外部から見たデータコヒーレンシ(Coherency)を保つためのバイパス動作に用いられる。本実施形態で採用しているレイトライトでは、書き込み要求があったメモリサイクルよりも後のメモリサイクルで実際にメモリセルへの書き込みが行われる。つまり、書き込み要求のあったメモリサイクルでは、書き込みアドレス及び書き込みデータを一旦レジスタ回路3のアドレスレジスタ及びレジスタ回路12(後述)のデータレジスタに取り込んでおく。そして、次に書き込みの要求が入力されたメモリサイクルで取り込んでおいたアドレス及びデータをもとにメモリセルアレイ7(後述)へ書き込みを行っている。
したがって、現実にメモリセルアレイ7へ書き込みが行われるまでの間に、書き込み要求のあったアドレスに対して読み出し要求があった場合、この時点ではデータが未だメモリセルアレイ7には書かれておらずレジスタ回路12にのみ存在する。このため、メモリセルアレイ7から読み出しを行ってしまうと、書き込み前の古いデータを半導体記憶装置外部へ出力してしまうことになる。そこでこのような場合には、メモリセルアレイ7をバイパスしてレジスタ回路12からデータの出力を行うように構成している。
以上のような状況を検出するために、内部アドレスLC_ADDとレジスタ回路3内のアドレスレジスタを照合して、未だメモリセルアレイ7に書き込まれていないアドレスに対して外部から読み出し要求が入力されたことを検出するようにしている。なお、レジスタ回路3は読み出し・書き込みの区別なくヒット信号HITを生成しているが、後述するようにバイパス動作は読み出し要求があった場合にのみ作動するため、特に問題は生じない。
次に、ATD(Address Transition Detector ;アドレス変化検出)回路4はチップセレクト信号/CSが有効(“L”レベル)な場合に、内部アドレスLC_ADDが変化しているかどうかを検出する。そして内部アドレスLC_ADDの何れか1ビットにでも変化が認められる場合、ATD回路4はこの変化を検出した時点からアドレススキュー期間に相当する時間が経過したのちに、アドレス変化検出信号ATDに正のワンショットパルスを発生させる。
これに加えて、ATD回路4はチップセレクト信号/CSが有効化された場合(“H”レベル→“L”レベルの遷移)にも、チップセレクト信号/CSが変化してからアドレススキュー期間に相当する時間が経過したのちに、アドレス変化検出信号ATDに正のワンショットパルスを発生させる。なお、チップセレクト信号/CSは図1に示した半導体記憶装置をアクセスする場合に有効化される選択信号である。また、信号名の先頭に付与した記号“/”はそれが負論理の信号であることを意味している。
ここで、チップセレクト信号/CSについてさらに詳述すると、チップセレクト信号/CSは半導体記憶装置(チップ)の選択/非選択を決定するための信号であって、特に、複数の半導体記憶装置から構成されるシステムにおいて、所望の半導体記憶装置を選択するために用いられる信号である。以下の説明では、チップの選択/非選択を決める活性化信号としてチップセレクト信号を用いるが、本発明で使用可能な活性化信号はチップセレクト信号に限られるものではなく、これと同等の機能を持った信号であればどのような信号であっても良い。このため、チップセレクト信号に代えて例えばチップイネーブル信号を用いることが考えられる。ただし、いわゆるチップイネーブル信号の中には、既存の疑似SRAMにおけるチップイネーブル信号のように、チップの活性化機能に加えてアドレスラッチタイミング制御機能を有するものがある。上述したように、既存の疑似SRAMでは、アドレス取り込みのタイミングを制御するためにチップイネーブル信号をクロック信号のように毎サイクル入力しており、それによって消費電力の増加が問題となる。これに対し、本発明の半導体記憶装置は、内部動作のトリガとなる信号をクロック信号のように毎サイクル入力しなくとも動作可能であることを一つの特徴としている。こうしたことから、本発明においてチップイネーブル信号を活性化信号とする場合には、チップの活性化機能を持ち、なおかつ、アドレスラッチタイミング制御機能を持たない信号を半導体記憶装置へ与えることになる。
なお、ATD回路4内部では、アドレスの各ビットが変化するかあるいはチップセレクト信号/CSが有効となった場合にそれぞれパルスを発生させ、これらパルスを合成することでワンショットパルスを生成している。このため、アドレスAddress にスキューがあっても従来例のように複数個のアドレス変化検出信号が生成されてしまう恐れはない。それゆえ、複数のメモリセルに対して書き込みが行われ,あるいは,複数のメモリセルからの読み出しが同時に行われてしまってメモリセルのデータが破壊されてしまうといったことはなくなる。
また、スキューが大きい場合にはアドレススキュー期間も長くなって、それだけアドレス変化検出信号ATDにワンショットパルスが発生するのが遅れ、アクセスタイムが大きくなることが懸念される。しかし、汎用SRAMの仕様上、アクセスタイムはアドレスAddress が確定した時点を基準とした値になっている。
このため、アドレスAddress の各ビットのうち最後に変化したビットからのアクセスタイムが保証されていれば良く、アドレススキュー期間経過後にアクセスを開始するようにしても動作遅れとはならない。
また、動作説明の際に後述する通り、アドレス変化検出信号ATDのワンショットパルスが立ち上がった時点からアドレスAddress に対する読み出しまたは書き込みが開始され、その後にワンショットパルスが立ち下がった時点からリフレッシュが開始される。このため、ワンショットパルスのパルス幅は読み出し又は書き込みを完了させるのに必要な時間以上に設定しておく。
さらに、アドレススキュー期間の長さは、アドレスAddress の各ビットおよびチップセレクト信号/CSの間に存在するスキューの最大値と一致させるか、あるいは、余裕を見込んでこのスキューの最大値よりも若干大きな値に設定しておくようにすれば良い。ここで、スキューは上述したような理由から生じるため、スキューの最大値は半導体記憶装置が適用されるシステム全体の特性に基づいて予め試算しておくことが可能である。
したがって、アドレススキュー期間を可変に構成するか、あるいは幾つかの値の中からアドレススキュー期間を選択できるように構成することで、半導体記憶装置が適用されるシステムに応じたアドレススキュー期間を設定することが可能である。あるいは、半導体記憶装置の仕様としてアドレススキュー期間を或る固定値に決めておくようにしても良い。この場合には、半導体記憶装置の入力ピンにおけるスキューの最大値が上記固定値に収まるように、半導体記憶装置が搭載されるシステムの設計を行っておく必要がある。
次に、リフレッシュ制御回路5はアドレスカウンタ(リフレッシュカウンタ)及びリフレッシュタイマを内蔵している。リフレッシュ制御回路5はこれらとアドレス変化検出信号ATD,書き込みイネーブル信号/WEを利用して半導体記憶装置内部のリフレッシュを制御することによって、リフレッシュアドレス及びリフレッシュタイミングを半導体記憶装置内部で自動的に発生させ、汎用DRAMにおけるセルフリフレッシュと同様のリフレッシュを実現している。ここで、アドレスカウンタはDRAMメモリセルをリフレッシュするためのリフレッシュアドレスR_ADD を順次生成する。なお、リフレッシュアドレスR_ADD はアドレスAddress に含まれる行アドレスと同じビット幅を持っている。
また、リフレッシュタイマは半導体記憶装置の外部から最後にアクセス要求があってからの経過時間を計時しており、それが所定のリフレッシュ時間を越えた場合に半導体記憶装置内部でセルフリフレッシュを起動させる。そのために、リフレッシュタイマはアドレス変化検出信号ATDが有効となる度にリセットされて計時を再開するように構成される。
このほか、リフレッシュ制御回路5はリフレッシュタイミングを制御するためのリフレッシュ制御信号REFA,REFBを生成する。なお、これらリフレッシュ制御信号の機能およびタイミングについては動作説明で明らかにする。
マルチプレクサ6(図中「MUX」)はアドレス変化検出信号ATD及びリフレッシュ制御信号REFBのレベルに応じて、アドレス変化検出信号ATDが“H”レベルかつリフレッシュ制御信号REFBが“H”レベルであれば内部アドレスL_ADD に含まれる行アドレスを選択してこれをアドレスM_ADD として出力する。一方、アドレス変化検出信号ATDが“L”レベルであるかまたはリフレッシュ制御信号REFBが“L”レベルであればリフレッシュアドレスR_ADD を選択してアドレスM_ADD として出力する。次に、メモリセルアレイ7は汎用DRAMと同様のメモリセルアレイであって、行方向,列方向にそれぞれワード線,ビット線(またはビット線対;以下同じ)が走っており、DRAMと同様の1トランジスタ1キャパシタから成るメモリセルがワード線及びビット線の交点の位置に行列状に配置されて構成されている。
ロウデコーダ8はロウイネーブル信号REが“H”レベルのときにアドレスM_ADD をデコードし、このアドレスM_ADD で指定されたワード線を活性化させる。
なお、ロウイネーブル信号REが“L”レベルであるとき、ロウデコーダ8は何れのワード線も活性化させない。カラムデコーダ9はカラムイネーブル信号CEが“H”レベルとなっているときに内部アドレスL_ADD に含まれる列アドレスをデコードし、この内部アドレスL_ADD で指定されたビット線を選択するためのカラム選択信号を生成する。なお、カラムイネーブル信号CEが“L”レベルであるとき、カラムデコーダ9はどのビット線に対応するカラム選択信号も生成することはない。
センスアンプ・リセット回路10は図示を省略したセンスアンプ,カラムスイッチおよびプリチャージ回路から構成されている。このうち、カラムスイッチはカラムデコーダ9の出力するカラム選択信号で指定されたセンスアンプとバスWRBの間を接続する。センスアンプはセンスアンプイネーブル信号SEが“H”レベルであるとき、アドレスAddress で特定されるメモリセルの接続されたビット線電位をセンス・増幅してバスWRBに出力し、あるいは、バスWRBに供給された書き込みデータをビット線経由でメモリセルに書き込む。プリチャージ回路はプリチャージイネーブル信号PEが“H”レベルのときに、ビット線の電位を所定電位(例えば電源電位の1/2)にプリチャージする。
次に、ヒット制御回路11及びレジスタ回路12は上述したレジスタ回路3とともにレイトライト動作を実現している。このうち、ヒット制御回路11はアドレス変化検出信号ATDの立ち上がりでヒット信号HITを取り込み、これをヒットイネーブル信号HEとしてレジスタ回路12に送出する。アドレススキュー期間内ではアドレスAddress の値が確定していないため、ヒット制御回路11はアドレスAddress が確定した時点でヒット信号HITを取り込むようにしている。なお、ヒットイネーブル信号HEは読み出し動作の場合にのみ用いられるが、その制御はレジスタ回路12が行っており、ヒット制御回路11はアクセス要求が書き込み・読み出しであるかを問わずヒットイネーブル信号HEを生成している。
次に、レジスタ回路12はバスWRB上で授受されるデータと同じビット幅のレジスタ(先に触れたように以下「データレジスタ」という)を内蔵している。
そしてレジスタ回路12は、制御信号LW2の立ち下がりエッジをトリガとして、バスI/O,I/Oバッファ13(後述)を通じて外部からバスWRBX上に供給される書き込みデータをデータレジスタに取り込む。つまり、書き込み要求があった場合に、当該メモリサイクルで与えられる書き込みデータを一旦データレジスタに取り込んでおき、次の書き込み要求のあったメモリサイクルで取り込んでおいた書き込みデータをメモリセルアレイ7へ書き込むことになる。
また、制御信号LW2が“H”レベルである場合、レジスタ回路12は直前の書き込み要求の際に与えられた書き込みデータをデータレジスタからバスWRB上に出力する。一方、制御信号LW2が“L”レベルである場合、レジスタ回路12はヒットイネーブル信号HEのレベルに応じて異なる動作を行う。すなわち、ヒットイネーブル信号HEがミスヒットを示す“L”レベルであれば、レジスタ回路12はバスWRB上の読み出しデータをそのままバスWRBX上に出力する。これに対し、ヒットイネーブル信号HEがヒットを示す“H”レベルであれば、レジスタ回路12は未だメモリセルアレイ7に書き込まれていない書き込みデータをデータレジスタからバスWRBX上に送出する。この場合、センスアンプ・リセット回路10を通じてバスWRB上に読み出されてくるメモリセルアレイ7のデータは使用されない。
I/O(入出力)バッファ13は、制御信号CWOのレベルに応じて同信号が“H”レベルであればバスWRBX上の読み出しデータを出力バッファでバッファリングしてバスI/Oから半導体記憶装置外部に出力する。また、I/Oバッファ13は同信号が“L”レベルであれば、出力バッファをフローティング状態として半導体記憶装置外部からバスI/Oに供給される書き込みデータを入力バッファでバッファリングしてバスWRBX上に送出する。つまり制御信号CWOが“H”レベルであれば読み出し,“L”レベルであれば書き込みである。
次に、R/W(Read/Write)制御回路14はチップセレクト信号/CS,書き込みイネーブル信号/WEおよび出力イネーブル信号OEに基づいて制御信号CWO及び制御信号LW1,LW2を生成する。なお、これら制御信号の切換タイミングは動作説明で明らかにする。ちなみに、本実施形態において半導体記憶装置の内部ではレイトライトが行われるが、半導体記憶装置の外部から見たときの仕様では、書き込みイネーブル信号/WEの立ち下がりエッジでデータの書き込み(取り込み)が開始し、書き込みイネーブル信号/WEの立ち上がりエッジでデータが確定し、書き込み(取り込み)が終了する。
次に、ラッチ制御回路15はアドレス変化検出信号ATD及びセンスアンプイネーブル信号SEに基づいて、アドレスAddress のラッチタイミングを決める上述したラッチ制御信号LCを生成する。
すなわち、ラッチ制御信号LCは、アドレス変化検出信号ATDの立ち上がりエッジから、リフレッシュ動作中(すなわち、アドレス変化検出信号ATDが“L”レベルのとき)に生成されるセンスアンプイネーブル信号SEの立ち下がりエッジまでの期間中に“H”レベルとなる。このため、アドレス変化検出信号ATDが立ち上がった後にアドレスAddress が変化しても、ラッチ制御信号LCが立ち下がるまでの間、ラッチ2は内部アドレスLC_ADDの値を保持し続けるようになる。
ロウ制御回路16はリフレッシュ制御信号REFA,リフレッシュ制御信号REFB,アドレス変化検出信号ATD及び書き込みイネーブル信号/WEに基づいて、ロウイネーブル信号RE,センスアンプイネーブル信号SE,プリチャージイネーブル信号PEおよび制御信号CCを生成する。また、カラム制御回路17はこの制御信号CCに基づいてカラムイネーブル信号CEを生成する。
さらに詳述すると、読み出し又は書き込み時において、ロウ制御回路16はアドレス変化検出信号ATDのワンショットパルスの立ち上がりをトリガとしてロウイネーブル信号REに正のワンショットパルスを発生させる。またロウ制御回路16は、リフレッシュ制御信号REFAが“H”レベルの場合に、アドレス変化検出信号ATDのワンショットパルスの立ち下がりエッジをトリガとして、リフレッシュ動作に必要となる正のワンショットパルスをロウイネーブル信号REに発生させる。さらにロウ制御回路16は、リフレッシュ制御信号REFBに供給される負のワンショットパルスを反転させて得た正のワンショットパルスをロウイネーブル信号REとして出力する。
また、ロウ制御回路16はロウイネーブル信号REを遅延させてセンスアンプイネーブル信号SEに正のワンショットパルスを生成するとともに、ロウイネーブル信号REに生じたワンショットパルスの立ち下がりをトリガとしてプリチャージイネーブル信号PEに正のワンショットパルスを発生させる。なお、これらセンスアンプイネーブル信号SE及びプリチャージイネーブル信号PEは通常の書き込み・読み出しの場合,リフレッシュの場合を問わず生成される。このほか、ロウ制御回路16はロウイネーブル信号REを遅延させて制御信号CCを出力する。
この制御信号CCはリフレッシュの場合には生成されないため、制御信号CCから生成されるカラムイネーブル信号CEも通常の書き込み・読み出しの場合にだけ生成され、リフレッシュの場合には生成されない。次に、カラム制御回路17は制御信号CCをさらに遅延させて、これをカラムイネーブル信号CEとして出力する。なお、ロウイネーブル信号REのワンショットパルスの幅はレイトライト,読み出し,リフレッシュがそれぞれ行われる時間を決定するものであるため、これらの動作のために必要十分なパルス幅が設定される。
なお、リフレッシュ制御信号REFAは半導体記憶装置外部からのアクセス要求に付随してリフレッシュを行うか否かを制御するための信号である。すなわち、同信号が“H”レベルであれば、当該アクセス要求により生じるアドレス変化検出信号ATDの立ち下がりでロウイネーブル信号REにワンショットパルスを発生させてリフレッシュを起動する。これに対して同信号が“L”レベルであれば、アドレス変化検出信号ATDにワンショットパルスが発生していても、ロウイネーブル信号REにワンショットパルスを発生させることはない。
ここで、本実施形態では、アドレス変化検出信号ATDの発生をトリガとするリフレッシュ動作として以下の実現形態を前提に説明を行う。すなわち本実施形態では、読み出し又は書き込みに伴うリフレッシュ動作が連続する場合、これら各メモリサイクルでリフレッシュを連続的に行ってゆくことで、メモリセル全体をリフレッシュする。そして、全てのメモリセルをリフレッシュした時点で、いったんリフレッシュを発生させない状態とする。その後、メモリセルのデータを保持できる限界の状態(セルホールドリミット)に近づいたときにこれを検出し、連続するメモリサイクルで継続的にリフレッシュを行ってゆく状態に再び移行する。
リフレッシュ制御信号REFAを立ち下げる要因としては、外部からのアクセス要求に伴うリフレッシュによって1サイクル分のリフレッシュが完了したものの、次のサイクルのリフレッシュを起動するにはまだ時間がある場合、あるいは、セルフリフレッシュを起動させたためにこれが完了するまでは外部からのアクセス要求に伴うリフレッシュを行う必要がなくなった場合である。
ここで、リフレッシュ制御信号REFAを生成するには、リフレッシュ制御回路5内部にリフレッシュ制御信号REFAを保持するラッチ回路を設けて、リフレッシュタイマの出力信号及びアドレス変化検出信号ATDによってこのラッチ回路のセット・リセットを制御する構成などが考えられる。具体的には、リフレッシュ動作が必要になる(セルホールドリミットの)少し前のタイミングをリフレッシュタイマで生成し、その出力信号に基づいてリフレッシュ制御回路5の内部でラッチ回路のセット信号を生成してラッチ回路をセットし、リフレッシュ制御信号REFAに"H"レベルを出力する。なお、セット信号を生成するタイミングはサイクルタイムの最大値を目安にして決めるようにする。その後、ロウ制御回路16が、アドレス変化検出信号ATD、または、リフレッシュ制御信号REFAに基づいて発生するリフレッシュ制御信号REFBをトリガとして、ワード線単位でメモリセルのリフレッシュ動作を行ってゆく。そして、全てのメモリセルのリフレッシュ動作が行われたときに、リフレッシュ制御回路5内部でラッチ回路のリセット信号を生成してラッチ回路をリセットし、リフレッシュ制御信号REFAに"L"レベルを出力する。
なお、ラッチ回路のリセットは、最後のワード線をリフレッシュするリフレッシュサイクルで、リフレッシュ動作の終わる時間に合わせて行えば良い。あるいは、リフレッシュ動作を完了させたときにロウ制御回路16がリフレッシュ動作完了信号を生成するようにし、リフレッシュ制御回路5がこのリフレッシュ動作完了信号を最後のワード線に対するリフレッシュサイクルで受け取ったときにラッチ回路をリセットするようにしても良い。
ただし、後述する図4の場合を考慮して、リフレッシュ制御信号REFAを立ち上げたときから、この立ち上がりののちに最初に行われるリフレッシュが終了するときまでの間に、アドレス変化検出信号ATDが発生する(図5を参照)か書き込みイネーブル信号/WEが入力されるかしていなければ、この最初のリフレッシュが終了した後にラッチ回路をリセットする。
一方、リフレッシュ制御信号REFBはセルフリフレッシュのための信号である。リフレッシュ制御信号REFBに負のワンショットパルスを与えることで、ロウイネーブル信号REへ強制的にワンショットパルスを発生させてリフレッシュを起動することができる。
ここで、リフレッシュ制御信号REFBを生成するには、リフレッシュ制御信号REFAを遅延させる遅延回路と負のワンショットパルスを発生させるパルス発生回路とをリフレッシュ制御回路5内部に設けて、パルス発生回路から負のワンショットパルスを発生させるタイミングを遅延回路で遅延させたリフレッシュ制御信号REFAとアドレス変化検出信号ATDとで制御する構成などが考えられる。
通常、リフレッシュ制御信号REFBは"H"レベルとなっている。この状態でリフレッシュ制御信号REFAが立ち上げられて"H"レベルとなった場合に、このリフレッシュ制御信号REFAの立ち上がりを遅延回路で所定時間遅延させ、この遅延の間にアドレス変化検出信号ATDが発生しなかったときには、遅延されたリフレッシュ制御信号REFAの立ち上がりでパルス発生回路を起動し、リフレッシュ制御信号REFBに負のワンショットパルスを出力させる。上記所定時間の遅延は、アドレス変化検出信号ATDを発生させるトリガが外部から与えられないためにメモリセルのリフレッシュに要求されるリミットの時間になってしまうまでを計測するためのものである。
なお、本発明は上述したリフレッシュ動作の実現形態に限定されるものではなく、例えば、メモリセルをワード線毎に一定周期でリフレッシュするような形態としても良い。この場合、リフレッシュ制御信号REFBを発生させる回路構成は上述したものと同じで良いが、リフレッシュ制御信号REFAを発生させるための回路構成は例えば次のようになる。
まず、リフレッシュタイマはリフレッシュを起動するためのトリガ信号を一定周期で発生させる。次に、上記の場合と同様にして、リフレッシュ制御回路5内部にラッチ回路を設け、リフレッシュタイマの出力するトリガ信号に基づいて、リフレッシュ動作が必要になる少し前のタイミングで発生させたセット信号によりラッチ回路をセットしてリフレッシュ制御信号REFAを"H"レベルにする。
なお、この場合も、ラッチ回路をセットするタイミングはサイクルタイムの最大値を目安にして決定する。
その後、アドレス変化検出信号ATDまたはリフレッシュ制御信号REFBを受けたロウ制御回路16がメモリセルに対するリフレッシュ動作を完了させるタイミングに合わせて、リフレッシュ制御回路5は発生させたリセット信号でラッチ回路をリセットし、リフレッシュ制御信号REFAを"L"レベルとする。なお、この場合のラッチ回路のリセットは、ラッチ回路をセットしたときから一定時間遅れたタイミングで行えば良い。あるいは、ロウ制御回路16がリフレッシュ動作を完了させたときにリフレッシュ動作完了信号を生成するようにして、リフレッシュ制御回路5がこのリフレッシュ動作完了信号を受け取ったときにラッチ回路をリセットしても良い。
ちなみにこの形態では、アドレス変化検出信号ATDをトリガとするリフレッシュ動作が終了すると、各メモリサイクルでリフレッシュ制御信号REFAが立ち下がるようになる。
なお、半導体記憶装置を立ち上げてから初めて書き込み要求が与えられた場合には、直前の書き込みが存在しない。したがって、当該書き込み要求のあったメモリサイクルでは、書き込みアドレス及び書き込みデータの取り込みを行うだけであって、メモリセルアレイ7へのレイトライトは行わない。これを実現するためには、ロウ制御回路16の内部にフラグを設けて、チップセレクト信号/CSが有効な状態で書き込みイネーブル信号/WEが一度でも有効化されたかどうかをこのフラグで示すようにする。
そのために、ロウ制御回路16は半導体記憶装置の立ち上げ時にフラグをオフに初期化しておき、最初の書き込み要求が行われた時点でフラグをオンとする。
また、ロウ制御回路16は書き込み要求があった場合(書き込みイネーブル信号/WE=“L”レベルかつチップセレクト信号/CS=“L”レベル)には、フラグがオンになっている場合にだけロウイネーブル信号REにワンショットパルスを発生させる。これによって、ロウ制御回路16及びカラム制御回路17は、書き込みに必要となる制御信号CC,センスアンプイネーブル信号SE,カラムイネーブル信号CE,プリチャージイネーブル信号PEを発生させる。
次に、ブースト電源18はメモリセルアレイ7内のワード線に印加される昇圧電位をロウデコーダ8に供給する電源である。また、基板電圧発生回路19はメモリセルアレイ7の各メモリセルが形成されたウェルまたは半導体基板に印加される基板電圧を発生させる回路である。さらに、リファレンス電圧発生回路20はメモリセルアレイ7,センスアンプ・リセット回路10内のセンスアンプやプリチャージ回路・イコライズ回路が使用するリファレンス電圧(例えば電源電位の1/2=1/2Vcc)を発生させる。このリファレンス電圧の用途は主に次の3種類(a〜c)あるが、現在ではダミーセルを設けないcの使い方が主流である。
a メモリセルを構成しているキャパシタの対極に印加される基準電圧(1/2Vcc)。
b ダミーセルを設ける場合に、メモリセルからビット線対の一方のビット線上に読み出された電位とダミーセルから他方のビット線上に読み出された電位(1/2Vcc)からメモリセルの保持データが“0”/“1”何れであるかをセンスアンプが判定する際の参照電位。
c ダミーセルを設けない場合に、ビット線対のプリチャージ・イコライズ電圧として使用される基準電圧。この場合、一方のビット線にはメモリセルからの読み出し電圧が現れ、他方のビット線はセンス動作開始直前にプリチャージ電圧(1/2Vcc)となっている。
ここで、リフレッシュ制御回路5,ブースト電源18,基板電圧発生回路19およびリファレンス電圧発生回路20にはパワーダウン制御信号PowerDown が供給されている。このパワーダウン制御信号PowerDown は半導体記憶装置をパワーダウン状態(スタンバイ状態)にするときのモードを半導体記憶装置外部から指定するための信号である。リフレッシュ制御回路5,ブースト電源18,基板電圧発生回路19およびリファレンス電圧発生回路20は、後述するように、パワーダウン制御信号PowerDown に従ってそれぞれ自身に対する電源供給を制御するようにしている。
本実施形態ではメモリセル自体がDRAMと同様のものであるため、SRAMのようにスタンバイ状態で単純に半導体記憶装置内の回路各部への電源供給を止めてしまうことはできない。スタンバイ状態であってもメモリセルのデータを保持するためにはリフレッシュ動作に必要となる回路へ電源を供給し続ける必要がある。つまり、本実施形態の半導体記憶装置はスタンバイ状態に関してはSRAMとの互換性を完全にとることはできない。しかしながら、その分本実施形態では、スタンバイ状態におけるモードを幾つか設けてSRAMとの互換性をできる限りとるとともに、既存の半導体記憶装置には存在しないようなモードも設けている。
すなわち、本実施形態ではリフレッシュ制御回路5,ブースト電源18,基板電圧発生回路19,リファレンス電圧発生回路20のうちの何れを動作させるかに応じて3種類のスタンバイモードを用意してある。本明細書ではこれらのスタンバイモードを便宜上スタンバイモード1〜3と呼ぶことにする。スタンバイモード1は4種類の回路全てに電源を供給するモード、スタンバイモード2は4個の回路のうちリフレッシュ制御回路5だけ電源供給を止めてこれ以外の3種類の回路に電源を供給するモード、スタンバイモード3は4種類の回路全てに対する電源供給を止めるモードである。
なお以上のようなことから、パワーダウン制御信号PowerDown としては例えば、リフレッシュ制御回路5に電源を供給するための第1の電源供給線と、ブースト電源18,基板電圧発生回路19,リファレンス電圧発生回路20に電源を供給するための第2の電源供給線で構成すれば良い。
次に、各スタンバイモードについてさらに詳述すると、スタンバイモード1は通常のDRAMと同等の電源供給モードであって、3種類あるスタンバイモードの中では最も消費電流が大きい。しかし、この場合にはメモリセルのリフレッシュに必要な全ての回路へ電源が供給されたままになっている。このため、スタンバイ状態に移行する直前におけるメモリセルのデータが保持されているほか、半導体記憶装置をスタンバイ状態からアクティブ状態へ移行させるまでの時間が3種類のスタンバイモードの中では最も短い。なお、スタンバイモード1に設定するには第1の電源供給線及び第2の電源供給線の双方へ電源を供給すれば良い。
一方、スタンバイモード2はリフレッシュに必要とされる回路に対して電源が供給されないため、スタンバイ状態においてメモリセルのデータを保持しておくことはできないが、その分スタンバイモード1に比べて消費電流を低減させることができる。つまりこのモードは、スタンバイ状態でデータを保持しておくという既成概念から発想の転換を図ったものであって、スタンバイ状態からアクティブ状態に移行すれば、メモリセルアレイ全体に対して書き込みを行える状態になる。したがって、スタンバイモード2と次に述べるスタンバイモード3は半導体記憶装置をバッファとして使用する場合などに適したモードである。なお、スタンバイモード2に設定するには、第1の電源供給線に電源を供給しないようにしてリフレッシュ制御回路5への電源供給を停止させるようにする。
他方、スタンバイモード3はブースト電圧,基板電圧,リファレンス電圧を立ち上げる必要があるため、スタンバイ状態からアクティブ状態に移行するまでの時間が3種類あるスタンバイモードの中で最も長くなるが、その分、スタンバイモードにおける消費電流を最も小さくすることができる。なお、スタンバイモード1〜3の何れの場合においても、上述した4種類以外の回路については必要な回路だけに電源を供給すれば良い。
例えば、リフレッシュを行うだけであれば、アドレスバッファ1,ラッチ2,レジスタ回路3(ただし、アドレスレジスタを除く),ATD回路4,カラムデコーダ9,ヒット制御回路11,レジスタ回路12(ただし、データレジスタを除く),I/Oバッファ13,R/W制御回路14,ラッチ制御回路15,カラム制御回路17等は使われないので電源供給を停止しても構わない。なお、スタンバイモード3に設定するには、第1の電源供給線及び第2の電源供給線の何れにも電源を供給しないようにして、リフレッシュ制御回路5,ブースト電源18,基板電圧発生回路19,リファレンス電圧発生回路20への電源供給をすべて停止させるようにする。
以上のようなスタンバイモードを設けることで、半導体記憶装置が適用される機器やその使用環境などに応じて、スタンバイ状態におけるデータ保持の要否,アクティブ状態への復帰時間,電流消費量などを半導体記憶装置外部からきめ細かく制御できるようになる。なお、パワーダウン制御信号PowerDown は必須の機能というわけではないことからこれを省略してしまっても良く、そうすることで汎用SRAMとI/Oピンの互換性を完全に保つことが可能となる。
〈動作の説明〉
次に、図2に示すタイミングチャートを参照しながら上記構成による半導体記憶装置の動作を説明する。上述したように、半導体記憶装置の立ち上げ後における最初の書き込みでは、その動作が2回目以降の書き込みのときとは異なる例外的なものになる。そこで以下では、少なくとも1回目の書き込みが行われていることを前提として、2回目以降の書き込みの場合の動作を中心に説明する。
すなわち、前提条件として図2に示したよりも以前のメモリサイクルにおいて、アドレス“Ax”に対するデータ“Qx”の書き込み要求があったものとする。これにより、当該メモリサイクルではアドレス“Ax”がレジスタ回路3内のアドレスレジスタに取り込まれるとともに、データ“Qx”がレジスタ回路12内のデータレジスタに取り込まれる。なお、アドレス“Ax”,データ“Qx”がそれぞれレジスタ回路3,12に取り込まれるときの動作は、後述するように、アドレス“An”,データ“Qn”がそれぞれレジスタ回路3,12に取り込まれるときの動作と全く同じである。
そして図2では、アドレス“An”に対する書き込みおよびアドレス“An+1”からの読み出しを続けて行う場合についてその動作タイミングを示してある。なお、リフレッシュアドレスR_ADD の値は書き込み前において“R1−1”になっているものとする。また、図2においてアドレス“An−1”は直前のメモリサイクルで与えられたアドレスである。仮にこの直前のメモリサイクルで書き込み要求が行われたのであればアドレス“An”=アドレス“Ax”であり、さもなくば直前の書き込み要求とアドレス“An”に対する書き込み要求との間に少なくとも読み出し要求が1回はあったことになる。
このほかの前提条件として、ここではリフレッシュ制御信号REFA,REFBが何れも“H”レベルになっているとする。つまり、外部からの読み出し・書き込み要求に付随して半導体記憶装置内部でリフレッシュが行われるものとし、また、内部でセルフリフレッシュが起動される状況には至らないものとする。また、チップセレクト信号/CSは“L”レベルに固定されており、図1に示すチップが選択された状態にあるものとする。
(書き込み動作)
まず時刻t1になると、アドレスAddress がそれまでの値“An−1”から“An”に変化し始める。このとき、後述する説明から明らかなようにラッチ制御信号LCは“L”レベル,かつ,制御信号LW1も“L”レベルである。このため、アドレスAddress はアドレスバッファ1でバッファリングされ、ラッチ2をスルーで通過して内部アドレスLC_ADDとなり、さらに内部アドレスLC_ADDはレジスタ回路3をスルーで通過して内部アドレスL_ADD となる。
そして、ATD回路4は内部アドレスLC_ADDの変化からアドレスAddress が変化し始めたことを検知するようになる。なお、この時点からアドレススキュー期間(図2に示す時間TSKEWに相当)に入るため、汎用SRAMの場合と同じくこの時点でアドレスAddress の値が確定しているとは限らない。このため、時刻t1ではアドレスAddress をラッチ2に取り込むことはせず、この後に時間TSKEWが経過してアドレスAddress の値が“An”に確定した時点でラッチ2にアドレスAddress を保持させるようにしている。
この後、アドレススキュー期間内において書き込みイネーブル信号/WEに負のパルスが例えば時刻t2で入力される。R/W制御回路14は書き込みイネーブル信号/WEが立ち下がったことを受けて制御信号CWOを“L”レベルにするほか、制御信号LW1,LW2をともに“H”レベルにする。その結果、I/Oバッファ13はバスI/O上の書き込みデータをバスWRBX上に送出するようになる。もっともこの時点ではまだ書き込みデータの値が確定しているとは限らない。また、レジスタ回路3はアドレスレジスタに保持しているアドレス“Ax”を内部アドレスL_ADD として出力するようになるほかレジスタ回路12はデータレジスタに保持しているデータ“Qx”をバスWRB上に出力するようになる。
次に、時刻t3になるとアドレスAddress の値が“An”に確定する。また、同時刻t3では、アドレスAddress (=内部アドレスLC_ADD)が変化し始めた時点(時刻t1)から時間TSKEWが経過しているため、ATD回路4はこの後の時刻t4になるとアドレス変化検出信号ATDに正のワンショットパルスを発生させる。そして、アドレス変化検出信号ATDが立ち上がったことを受けて、リフレッシュ制御回路5は書き込み後に引き続いて行われるリフレッシュ動作のために、リフレッシュアドレスR_ADD の値を“1”だけ増加させてその値を“R1”に更新する。
そして、アドレス変化検出信号ATDの立ち上がりを契機としてレイトライト動作が開始される。すなわち、マルチプレクサ6はアドレス変化検出信号ATDの立ち上がりを受けて内部アドレスL_ADD 側を選択するようになる。このとき、レジスタ回路3は内部アドレスL_ADD としてアドレスレジスタの保持するアドレス“Ax”を出力しており、マルチプレクサ6はこの値をアドレスM_ADD としてロウデコーダ8に出力する。また、同じくアドレス変化検出信号ATDが立ち上がったことで、ロウ制御回路16はロウイネーブル信号REに正のワンショットパルスを発生させる。これによってロウデコーダ8はアドレス“Ax”に対応するワード線(以下、書き込み対象のワード線を「書き込みワード線」と呼ぶことがある)を活性化させる。
次に、ロウイネーブル信号REのワンショットパルスに対応して、ロウ制御回路16はセンスアンプイネーブル信号SEに正のワンショットパルスを発生させるほか、制御信号CCに正のワンショットパルスを発生させてこれをカラム制御回路17に出力する。これにより、カラム制御回路17はカラムイネーブル信号CEに正のワンショットパルスを発生させる。こうしてカラムイネーブル信号CEが“H”レベルとなると、カラムデコーダ9は内部アドレスL_ADD (=アドレス“Ax”)に含まれた列アドレスをデコードし、この列アドレスに対応するカラム選択信号に正のワンショットパルスを発生させる。
この結果、センスアンプ・リセット回路10内のセンスアンプのうち、上記列アドレスに対応するセンスアンプが選択されてバスWRBと接続される。以上のの結果、時刻t4からはセンスアンプ・リセット回路10内のセンスアンプを通じてアドレス“Ax”に対応したメモリセルへデータ“Qx”の書き込みが始まる。この後に時刻t5となると、アドレス“An”に対する書き込みデータであるデータ“Qn”が供給されるようになり、当該データがバスI/Oに載せられてI/Oバッファ13を通じてバスWRBX上に送出される。もっともこのときバスWRBXはバスWRBに接続されていないため、この時点においてデータ“Qn”はメモリセルアレイ7への書き込みには関係していない。
この後、ロウ制御回路16は書き込み動作を終了させるために、ロウイネーブル信号REのワンショットパルスを立ち下げる。これを受けて、ロウデコーダ8はアドレス“Ax”に対応した書き込みワード線を非活性化させる。次に、ロウ制御回路16はセンスアンプイネーブル信号SEを立ち下げてセンスアンプ・リセット回路10内のセンスアンプを通じた書き込み動作を終了させる。次いで、ロウ制御回路16は制御信号CCを立ち下げ、この立ち下がりを受けたカラム制御回路17はカラムイネーブル信号CEを立ち下げる。
その結果、カラムデコーダ9はカラム選択信号を無効化して、選択されていたセンスアンプ・リセット回路10内のセンスアンプとバスWRBとの間を切り離す。次に、ロウ制御回路16はプリチャージイネーブル信号PEを立ち上げ、これによってセンスアンプ・リセット回路10内のプリチャージ回路は次のアクセスに備えてビット線をプリチャージする。次いで、ロウ制御回路16はプリチャージ動作に必要な時間が経過してからプリチャージイネーブル信号PEを立ち下げて、センスアンプ・リセット回路10内のプリチャージ回路によるビット線のプリチャージ動作を終了させる。
(書き込みに伴うリフレッシュ動作)
次に、時刻t6になってアドレス変化検出信号ATDが立ち下がると、リフレッシュ動作が開始される。すなわち、マルチプレクサ6はアドレス変化検出信号ATDが“L”レベルになったことでリフレッシュアドレスR_ADD 側を選択するようになり、アドレスM_ADD として“R1”を出力する。また、アドレス変化検出信号ATDの立ち下がりを受けて、ロウ制御回路16はロウイネーブル信号REに正のワンショットパルスを発生させる。これによってロウデコーダ8はアドレスM_ADD の値“R1”に対応するワード線(以下、リフレッシュ対象のワード線を「リフレッシュワード線」と呼ぶことがある)を活性化させる。
その結果、メモリセルアレイ7ではリフレッシュワード線に接続されたメモリセルの保持データがビット線上の電位として現れるようになる。この後、ロウ制御回路16がセンスアンプイネーブル信号SEに正のワンショットパルスを生成すると、センスアンプ・リセット回路10内のセンスアンプが活性化されて、リフレッシュワード線に接続された各メモリセルのリフレッシュが始まる。なお、リフレッシュ自体はDRAMで行われているものと全く同じであって周知の技術事項であるため、ここでは詳しく説明することはしない。
こうしてリフレッシュが行われている最中の例えば時刻t7において、書き込みイネーブル信号/WEが立ち上げられると、R/W制御回路14は制御信号LW1,LW2をともに立ち下げる。この制御信号LW1の立ち下がりを受けて、レジスタ回路3は時刻t8で内部アドレスLC_ADDの値“An”をアドレスレジスタに取り込む。また、レジスタ回路12は制御信号LW2の立ち下がりを受けて、同時刻t8でバスWRBX上のデータ“Qn”をデータレジスタに取り込む。
これらレジスタに取り込まれたアドレス“An”及びデータ“Qn”は、次の書き込み要求が行われた時点のメモリサイクルでレイトライト動作に使用されることになる。
この後、時刻t9になると書き込みのためのメモリサイクルが終了して読み出しのためのメモリサイクルに移行する。もっとも、この時点ではレイトライトに付随したリフレッシュ動作が引き続いて行われている状態である。一方、リフレッシュを開始(時刻t6)させてからリフレッシュに必要となる時間が経過すると、ロウ制御回路16はリフレッシュ動作を終了させるためにロウイネーブル信号REを立ち下げる。これによって、ロウデコーダ8はリフレッシュワード線を非活性化させる。次に、ロウ制御回路16はセンスアンプイネーブル信号SEを立ち下げて、リフレッシュを終えたセンスアンプ・リセット回路10内のセンスアンプを非活性化させる。
このとき、ラッチ制御回路15はセンスアンプイネーブル信号SEが立ち下がったことを受けてラッチ制御信号LCを立ち下げる。なお、以上説明したことから分かるように、先に説明した書き込みの場合とは異なり、リフレッシュの過程ではメモリセルのデータを半導体記憶装置外部へ出力する必要がないことから、ロウイネーブル信号REにワンショットパルスが生成されてもカラムイネーブル信号CEにはワンショットパルスを発生させない。したがって、カラムデコーダ9もカラム選択信号を非活性状態のままとしている。
以上のようにしてリフレッシュ動作が完了したならば、ロウ制御回路16は書き込みが終わったときと同様にプリチャージイネーブル信号PEにワンショットパルスを発生させてビット線をプリチャージする。そして、これまで述べた動作が遅くとも時刻t10(すなわち、書き込みサイクルに続く読み出しサイクルの開始時点から時間TSKEWが経過したとき)までに行われる。なお、リフレッシュ動作が次のメモリサイクルのアドレススキュー期間終了まで延びても問題ないのは次のような理由からである。
すなわち、本実施形態ではアドレスAddress が未確定の間はアドレス変化検出信号ATDのワンショットパルスを発生させないことで、アドレススキュー期間が終わるまで書き込み又は読み出し動作が始まらないように制御している。また、この制御に対応させて、アドレススキュー期間中は書き込み・読み出しアドレスに使用される内部アドレスL_ADD が直前のメモリサイクルの値を保持するようにしている。
なお、図2において時刻t1〜t9(実際の動作は時刻t3〜t10)が1メモリサイクルであって、図2ではサイクルタイムを「Tcyc 」で示してある。また、時刻t7〜t9の期間が先述したリカバリ時間TWRに相当している。しかし本実施形態ではレイトライト後のプリチャージ動作がリフレッシュ動作前に完結しているため、リカバリ時間TWRを確保しておく必要はない。例えば、書き込みイネーブル信号/WEが時刻t9で立ち上がるようにしても良く、そうした場合にはリカバリ時間TWRはゼロとなる。
(読み出し動作)
次に、時刻t9から始まる読み出しのためのメモリサイクルについて説明する。まず時刻t9ではアドレスAddress の値が“An”から変化し始める。この場合も時刻t10まではアドレススキュー期間であることから、アドレスが“An+1”に確定するまではアドレスAddress はラッチ2に取り込まれない。また、読み出し要求が為される場合はアドレススキュー期間で書き込みイネーブル信号/WEが立ち下げられることはなく、その代わりに出力イネーブル信号OEが有効化される。
このため、R/W制御回路14はメモリセルからの読み出しに備えて制御信号CWOを“H”レベルとするほか、制御信号LW1,LW2を何れも“L”レベルのままとする。これによってI/Oバッファ13はバスWRBX上のデータをバスI/Oへ送出するようになる。もっともこの時点ではまだアドレススキュー期間であって、ヒット制御信号HEも直前のメモリサイクルのままになっており、バスWRBX上にデータWRB上のデータが読み出されるのか、データレジスタの保持データが読み出されるのかは確定していない。
次に、アドレススキュー期間が終わって時刻t10になると、アドレスAddress および内部アドレスLC_ADDの値が“An+1”に確定する。このとき、制御信号LW1は“L”レベルであるため、内部アドレスLC_ADDの値がそのまま内部アドレスL_ADD として出力される。また、内部アドレスLC_ADDの値“An+1”はアドレスレジスタに保持されているアドレス“An”と一致しないため、レジスタ回路3はヒット信号HITとして“L”レベルを出力する。
次に、ATD回路4は時刻t11でアドレス変化検出信号ATDに正のワンショットパルスを発生させ、これによって読み出し動作が開始される。そして、リフレッシュ制御回路5はリフレッシュアドレスR_ADD の値を“R1”から“R1+1”に更新する。また、ヒット制御回路11は同時刻t11でヒット信号HITを取り込んでヒットイネーブル信号HEとして“L”レベルを出力する。これにより、レジスタ回路12はバスWRBとバスWRBXを接続するようになり、センスアンプ・リセット回路10内のセンスアンプによるセンス結果がI/Oバッファ13およびバスI/Oを通じて半導体記憶装置外部に出力可能となる。
次に、マルチプレクサ6は内部アドレスL_ADD 側を選択してアドレス“An+1”をアドレスM_ADD としてロウデコーダ8に出力する。同時に、ロウ制御回路16はロウイネーブル信号REに正のワンショットパルスを発生させ、ロウデコーダ8はアドレス“An+1”に対応したワード線(以下、読み出し対象のワード線を「読み出しワード線」と呼ぶことがある)を活性化させる。この結果、読み出しワード線に接続されたメモリセルの保持データがビット線上の電位として読み出される。次に、ロウ制御回路16はセンスアンプイネーブル信号SE,制御信号CCにそれぞれ正のワンショットパルスを発生させる。
すると、カラム制御回路17はカラムイネーブル信号CEに正のワンショットパルスを発生させ、カラムデコーダ9はアドレス“An+1”中の列アドレスに対応したカラム選択信号を活性化させて、このカラム選択信号に対応したセンスアンプをバスWRBと接続する。このセンスアンプは読み出しワード線に接続された各メモリセルのデータをセンスして“0”/“1”のレベルまで増幅する。
その結果、時刻t13になるとアドレス“An+1”に記憶されているデータ“Qn+1”がバスWRB上に現れるようになり、レジスタ回路12,バスWRBX,I/Oバッファ13を通じてバスI/Oから外部に読み出される。
この後、読み出し動作を終了させるために、ロウ制御回路16はロウイネーブル信号REを立ち下げる。すると、書き込みの場合と同様にして、アドレス“An+1”に対応した読み出しワード線が非活性化され、センスアンプイネーブル信号SEが“L”レベルになってセンスアンプ・リセット回路10内のセンスアンプがセンス動作を終了させる。また、カラム制御回路17がカラムイネーブル信号CEを“L”レベルにすることで、センスアンプとバスWRBとの間が切り離される。次いで、ロウ制御回路16がプリチャージイネーブル信号PEにワンショットパルスを生成することでビット線がプリチャージされる。
(読み出しに伴うリフレッシュ動作)
一方、時刻t12ではアドレス変化検出信号ATDが立ち下がって、読み出しに付随したリフレッシュ動作が開始される。この場合、時刻t12〜t15において為される動作は書き込みに付随するリフレッシュと同じであって、リフレッシュアドレスR_ADD として“R1”ではなく“R1+1”が使用される点だけが異なっている。そしてリフレッシュ動作中に時刻t14となると、読み出しのためのメモリサイクルが終了してこれに続く新たなメモリサイクルに移行し、リフレッシュ動作はこの新たなメモリサイクルでアドレススキュー期間が終了するまでに完了する。なお、時刻t9〜t14(実際の動作は時刻t10〜t15)はやはり1メモリサイクルであって、サイクルタイムは「Tcyc 」である。
以上のように本実施形態では、書き込み要求に伴う書き込みイネーブル信号/WEをアドレススキュー期間内で立ち下げているため、アドレスが確定した時点においてアクセスが書き込み/読み出し何れであるかが確定している。しかも本実施形態ではレイトライトを行っているため、書き込みアドレスおよび書き込みデータは何れもアドレススキュー期間以前において既に確定している。こうしたことから、アクセス要求が書き込み/読み出しの何れであるかが確定した時点よりすぐに書き込み動作又は読み出し動作を開始できる。また、上述したように本実施形態では、従来例のようにリカバリ時間TWRを確保しておく必要がない。
したがって、書き込み又は読み出しに要する時間が最小限となって、1メモリサイクルの長さ(時刻t3〜t10あるいは時刻t10〜t15)を最短にすることができる。また、書き込み又は読み出しを行ってからリフレッシュを実施しているため、第1の従来例や第2の従来例のようにリフレッシュ後に読み出し又は書き込みを行う場合に比べて、リフレッシュを行うのに必要となる時間だけアクセス(読み出しの場合においてはアドレスアクセス時間TAA)を高速化することが可能である。
〈バイパスが行われる場合〉
図2において、読み出しアドレスが“An+1”ではなく“An”である場合、アドレス“An”に対する書き込みデータ“Qn”が未だメモリセルアレイ7に反映されていない。このため、以下に説明するようなバイパス動作が行われる。そこで以下では上述した動作との相違点について説明する。この場合、図2に示す時刻t10になるとアドレスAddress の値が“An”に確定して、内部アドレスLC_ADDにもこの値“An”が出力される。
このとき、レジスタ回路3内のアドレスレジスタは“An”を保持しているため、レジスタ回路3はヒット信号HITとして“H”レベルを出力するようになる。この後、時刻t11になってアドレス変化検出信号ATDが立ち上がると、ヒット制御回路11はヒット信号HITを取り込み、ヒットイネーブル信号HEとして“H”レベルを出力する。そしてこの場合は読み出し動作であるため、R/W制御回路14は制御信号LW2として“L”レベルを出力している。したがって、レジスタ回路12はデータレジスタに保持しているデータ“Qn”をバスWRBX上に出力するようになる。
この後は、読み出しアドレスが“An+1”のときに準じて、メモリセルアレイ7からアドレス“An”に記憶されているデータが読み出され、時刻t13になると当該データがバスWRB上に読み出されてくる。しかし、このデータは書き込み前の古いデータであることから、読み出しデータとして使用されずに廃棄される。その代わりに、バスWRBX上に出力されているデータ“Qn”がI/Oバッファ13,バスI/Oを通じて半導体記憶装置外部に出力される。
なお、バイパス動作を行う場合にはメモリセルアレイ7からの読み出しは必要ないことから、読み出し動作を起動せずに消費電流を低減させることが考えられる。そのためには、ヒットイネーブル信号HEをロウ制御回路16にも供給する。そして、読み出し要求であってアドレス変化検出信号ATDの立ち上がりタイミングでヒットイネーブル信号HEが“H”レベルであれば、ロウ制御回路16およびカラム制御回路17は、ロウイネーブル信号REとこの信号から時系列的に生成される各信号(センスアンプイネーブル信号SE,制御信号CC,カラムイネーブル信号CE,カラム選択信号,プリチャージイネーブル信号PE)を発生させないように制御する。
〈リフレッシュを伴わない書き込み・読み出し〉
図2では外部からのアクセスに付随して必ずリフレッシュを行うものとしていた。しかし、1サイクル分のリフレッシュ(全てのワード線について1回ずつリフレッシュすることを指す)は、メモリセルアレイの構成や容量にも依るが数ms〜数十ms程度の所定時間内に実施すれば良い。それには、アドレスAddressが変化する度に必ずリフレッシュする必要はなく、例えば数μsに1回リフレッシュを行えば良い。
つまり、所定のメモリサイクル毎に1回だけ間欠的にリフレッシュを行うようにすれば良い。あるいは、図2のように連続的にリフレッシュを行う場合であっても、1サイクル分のリフレッシュを実施したのであれば、次のサイクルのリフレッシュを開始するまではリフレッシュする必要がない。このように、リフレッシュを実施する必要が当面なくなった場合は、リフレッシュ制御信号REFAを立ち下げてリフレッシュを一時的に停止させれば良い。こうすることで、余分なリフレッシュが行われなくなって消費電力を削減できる。
図3はリフレッシュ制御回路5内のリフレッシュタイマの制御によってリフレッシュを一時的に行わないようにした場合の動作タイミングチャートを示している。上述したように、図2の場合にはリフレッシュ制御信号REFAを“H”レベルのままにしていた。これに対して、図3の場合には先行するメモリサイクル中に実施されたリフレッシュによって1サイクル分のリフレッシュが完了したため、リフレッシュ制御回路5が時刻t0でリフレッシュ制御信号REFAを立ち下げている。つまり図3では、アドレス変化検出信号ATDの発生をトリガとしたリフレッシュ動作を各メモリサイクルで連続的に行う状態から、こうしたリフレッシュ動作を行わない状態へ移行する切り替わりのタイミングを示してある。
なおこのときリフレッシュ制御信号REFBは図2の場合と同様に“H”レベルのままであるため、図3では特に図示していない。
ここで、時刻t1〜t6における動作は図2の場合と全く同じである。そして時刻t6になるとアドレス変化検出信号ATDが立ち下がるが、このときにはリフレッシュ制御信号REFAが“L”レベルとなっているため、ロウ制御回路16はロウイネーブル信号REおよびこれに対応したセンスアンプイネーブル信号SE及びプリチャージイネーブル信号PEを発生させず、リフレッシュは行われなくなる。また、リフレッシュ制御回路5内のアドレスカウンタは、リフレッシュ制御信号REFAが“L”レベルとなったことでカウント動作を停止させるため、リフレッシュアドレスR_ADD の値は“R1−1”のままになる。
そして、以上のことが読み出しの場合(時刻t9〜t15)にも全く同様に行われる。したがって、時刻t12でアドレス変化検出信号ATDが立ち下がってもリフレッシュは行われなくなり、リフレッシュアドレスR_ADD の値も引き続いて“R1−1”のままとなる。なお、この後のある時点で次のリフレッシュサイクルを開始させる場合には、リフレッシュ制御回路5がリフレッシュ制御信号REFAを“H”レベルに戻すため、図2に示したような動作が再び行われるようになる。こうしてリフレッシュ動作が再開されたときにもリフレッシュカウンタはリセットされず、それまでリフレッシュカウンタに保持されている値に対してインクリメント動作が行われる。つまり、例えばセルフリフレッシュ動作がリフレッシュサイクル(すなわち、全ワード線をリフレッシュするサイクル)途中で中断してもリフレッシュカウンタがリセットされることはなく、次のリフレッシュ(読み出し又は書き込みに伴うリフレッシュ,セルフリフレッシュのいずれであっても良い。)動作が再開されたときに、リフレッシュカウンタに残っている値がインクリメントされる。
〈セルフリフレッシュ〉
次に、半導体記憶装置外部からのアクセス要求が所定のリフレッシュ時間にわたって無いために、リフレッシュタイマによるセルフリフレッシュが行われるときの動作について説明する。上述したように、本実施形態では外部からのアクセス要求に伴ってアドレス変化があったときに当該アクセス要求に対応する書き込み又は読み出しを行った後にリフレッシュを行うようにしている。
しかし、外部からのアクセス要求が長時間発生しないことも考えられるため、アクセス要求に付随してリフレッシュするだけではメモリセルアレイ7のデータを保持し続けることができない。そこで本実施形態では、リフレッシュ制御回路5内のリフレッシュタイマを用いて、外部からのアクセス要求が最後にあった時点から上記リフレッシュ時間が経過した時点でセルフリフレッシュを起動するようにしている。
図4はこのときの動作タイミングを示したものである。同図の時刻t9〜t15は、外部からの読み出し要求による読み出しとこれに付随するリフレッシュであって、図2に示したのと全く同じ動作である。なお、時刻t11でアドレス変化検出信号ATDにワンショットパルスが生成された時点で、リフレッシュ制御回路5はリフレッシュタイマをリセットしてリフレッシュ時間の計時を最初から行うようにする。そして、時刻t12からのリフレッシュを最後に1サイクル分のリフレッシュが終了するものとした場合、図3のときと同様にしてリフレッシュ制御信号REFAが時刻t21で立ち下げられる。
この後、次のサイクルのリフレッシュを開始させるタイミングになると、リフレッシュ制御回路5は時刻t22でリフレッシュ制御信号REFAを立ち上げる。このため、外部からのアクセス要求があったときにリフレッシュが可能な状態に遷移するが、こうした状態にも拘わらずアクセス要求の無い状態が継続すると、リフレッシュ制御回路5はリフレッシュ制御信号REFAを上記遅延回路で遅延させた信号の立ち上がりをトリガとして上記パルス発生回路を起動させ、時刻t23でリフレッシュ制御信号REFBに負のワンショットパルスを発生させる。
これにより、ロウ制御回路16はロウイネーブル信号REにワンショットパルスを発生させてリフレッシュを行わせる。このとき、マルチプレクサ6はリフレッシュ制御信号REFBが“L”レベルとなったことからリフレッシュアドレスR_ADD 側を選択するようになり、アドレスM_ADD として“R1+1”を出力する。なお、このときに行われるリフレッシュ動作は図2に示した動作と全く同様である。
この後、リフレッシュ制御回路5は時刻t24でリフレッシュ制御信号REFBを立ち上げてリフレッシュ動作を終了させる。このとき、マルチプレクサ6はリフレッシュ制御信号REFBの立ち上がりを受けて内部アドレスL_ADD 側を選択するようになる。またリフレッシュ制御回路5は、時刻t25でリフレッシュアドレスR_ADD を“R1+2”に更新する。なお、この場合はリフレッシュ制御信号REFAが時刻t22で立ち上げられてからアドレス変化検出信号ATDが発生していないため、アドレス変化に伴うリフレッシュ動作を連続して行う状態には移行しない。したがって、リフレッシュ制御回路5はリフレッシュ制御信号REFCの立ち下がりエッジをトリガとして時刻t26でリフレッシュ制御信号REFAを立ち下げて、これ以後も引き続いてリフレッシュタイマでリフレッシュ動作をコントロールする状態にする。
ここで、リフレッシュタイマがリフレッシュ時間を計時している間に半導体記憶装置外部からアクセス要求があると、その動作は図5に示したタイミングチャートのようになる。すなわち、時刻t31でアドレスAddress が変化し始め、時刻t32になってその値が“An+2”に確定すると、時刻t33でATD回路4はアドレス変化検出信号ATDにワンショットパルスを発生させる。すると、リフレッシュ制御回路5は図4のときのようにリフレッシュ制御信号REFBを立ち下げることなく“H”レベルのまま維持する。このため、時刻t33以降においては、時刻t11〜t15と同様にして、アドレス“An+2”からの読み出しとアドレス“R1+2”に関するリフレッシュが行われる。その結果、時刻t35になるとバスWRBX上にアドレス“An+2”に記憶されているデータ“Qn+2”が出力されるようになる。なお、図5ではセルホールドリミットのタイミングに近づいて時刻t22でリフレッシュ制御信号REFAが立ち上げられたことを想定しており、この後に連続するメモリサイクルでアドレス変換検出信号ATDが順次生成されて、リフレッシュを連続的に行ってゆくことになることから、リフレッシュ制御信号REFAを"H"レベルのまま維持している。
〈変形例〉(1)上述した説明では、レイトライトを次の書き込み要求が為されるメモリサイクルで行うようにしていた。このようにしている理由は、レイトライトを確実に実施できるのは次に書き込み要求があったメモリサイクルだからである。いま、次の書き込み要求までの間に空き時間を利用してレイトライトを行うものとする。この場合において、レイトライトを行っている最中に読み出し要求が与えられても、レイトライトが完了するまでは読み出し動作の開始を遅らせねばならない。したがって、アドレススキュー期間の経過後にすぐ読み出し動作を開始させた場合に比べて、読み出しデータの得られるのが遅くなってしまう。
とは言え、レイトライトに必要な時間だけ読み出し要求が入力されないことを保証できる期間があれば、そうした期間内でレイトライトを実施しても良い。したがって、レイトライトを行うタイミングは必ずしも次の書き込み要求があった時点に限定されるわけではない。こうした期間として、チップセレクト信号/CS(或いは、汎用SRAMのチップイネーブル信号に相当する信号)が無効化されており、チップそのものが非選択状態(或いは、非活性化状態)となっている場合が考えられる。そのためには、チップセレクト信号/CS又はチップイネーブル信号をいったん無効化した場合は、少なくともレイトライトに必要な時間をおいてからこれらの信号を有効化するように、半導体記憶装置の仕様を取り決めておけば良い。
(2)上述した説明では、書き込み又は読み出しに伴ってリフレッシュを1回だけ行うようにしている。しかし、本実施形態では書き込み又は読み出しを行ったのちにリフレッシュを行っている。このため、1メモリサイクルがこれまでに説明した場合に比べて長く設定されているのであれば、1メモリサイクルに収まる範囲内で複数回のリフレッシュを行うようにしても良い。これにより、一般のSRAMのように、ライトパルス時間TWPの上限値やサイクルタイムTcycの上限値を規定する必要がなくなる。この理由については後に詳しく説明する。
(3)また、上述したようにチップが非選択状態になっていて外部からアクセス要求が無いのであれば、その空き時間を利用して1回ないし複数回のリフレッシュを行うようにしても良い。また、上記変形例(1)で述べたように、チップが非選択状態になった時点でレイトライトを行うのであれば、レイトライトとともにリフレッシュを実施すれば良い。その際、上記変形例(2)で述べたように複数回のリフレッシュを行うようにしても良い。
(4)上述した説明では、書き込みイネーブル信号/WEをアドレススキュー期間内に立ち下げるという条件を課していた。しかしこうした条件は必須というわけではない。例えば、書き込みイネーブル信号/WEがアドレススキュー期間よりも後で有効化された場合であっても、その後のレイトライト動作およびリフレッシュ動作に要する時間が短いのであれば、上述した条件を厳格に課する必要性はない。こうした場合には、時間TSKEWの値をスキューの最大値よりも大きく設定するようにして、書き込みイネーブル信号/WEを立ち下げるタイミングまでアドレススキュー期間を延ばすようにすれば良い。
(5)上述した説明では、レイトライト制御にあたって制御信号LW1,LW2を同じタイミングで駆動していた。したがって、これら両制御信号を一本化してしまっても良い。ただ、例えば書き込みアドレスをアドレスレジスタに取り込むのは、アドレススキュー期間が経過した時点から書き込みイネーブル信号/WEが立ち上がるまでの期間内であればいつでも良い。したがって、例えば制御信号LW1を立ち上げるタイミングをアドレススキュー期間経過後とし、この立ち上がりに同期して書き込みアドレスをアドレスレジスタに取り込んでも良い。
〈ライトパルス時間TWP及びサイクルタイムTcycについて〉
一般に、リフレッシュを必要としないSRAMの場合、ライトパルス時間TWP及びサイクルタイムTcycの上限値についてタイミング仕様上の規定がない。ここで、ライトパルス時間TWPは、データの書き込みを行う際に書き込みイネーブル信号/WEが“L”レベルとなる期間を規定し、この期間にワード線が選択されてメモリセルにデータが書き込まれる。また、サイクルタイムTcyc は、データの読み出し又は書き込みを行う際にアドレスが指定されるべき期間を規定する。
リフレッシュを必要としない通常のSRAMでは、そのタイミング仕様上、ライトパルス時間TWPおよびサイクルタイムTcyc については下限値のみが規定されており、その上限値については特に規定されていない。従って、SRAMのユーザは、その下限値さえ満足すれば、ライトパルス時間TWPおよびサイクルタイムTcyc を任意に設定することができる。これに対し、DRAMと同様のメモリセルでデータを保持する本実施の形態に係る疑似SRAMでは、レイトライトによらない場合、リフレッシュ上の制約からライトパルス時間TWPおよびサイクルタイムTcyc の上限値が必要となる。
即ち、本実施の形態において、一般の疑似SRAMと同様のライト方式を採用した場合、ワード線が選択状態とされる期間がライトパルス時間TWPで規定されることとなる。そして、このライトパルス時間TWPで規定される期間においては、ビット線上でのデータの競合を避ける必要上、他のワード線の選択が一切禁止され、リフレッシュも禁止される。従って、ライトパルス時間TWPが無制限に長くなると、リフレッシュが行われない期間も長くなり、メモリセルに保持されたデータが消失してしまうため、ライトパルス時間TWPに上限値が必要となる。
また、本実施の形態では、アドレスが切り替わると、読み出し又は書き込みに付随してリフレッシュが行われるが、サイクルタイムTcyc が長くなると、アドレスが切り替わるまでの期間も長くなり、リフレッシュの間隔も長くなる。従って、サイクルタイムTcyc が無制限に長くなると、リフレッシュが行われない期間も長くなり、メモリセルに保持されたデータが消失してしまうため、サイクルタイムTcyc にも上限値が必要となる。しかしながら、本実施の形態に係るレイトライト方式によれば、上述のようなライトパルス時間TWPやサイクルタイムTcyc の上限値が不要となり、タイミング仕様上の制約を緩和することができる。
以下、ライトパルス時間TWPおよびサイクルタイムTcyc の上限値が不要となることの理由を詳細に説明する。
先ず、図6に示すタイミングチャートを参照して、ライトパルス時間TWPの上限値が不要となることの理由を説明する。時刻t80においてアドレスAddressが「An+1」に切り替わり、時刻t81において書き込みイネーブル信号/WEが“L”レベルに変化すると、レイトライトとリフレッシュが順次行われる。
即ち、時刻t82から時刻t83にかけてワード線WLが選択され、レイトライトが行われる。即ち、アクセスアドレスAn+1に対する書き込みサイクル内において、このアクセスアドレスAn+1で指定されるメモリセルアレイ上のワード線が一時的に選択されてレイトライトが行われる。
そして、このレイトライト(書き込み)に付随して、時刻t84から時刻t85にかけてリフレッシュアドレス「R1+1」で指定されるワード線が一時的に選択され、このリフレッシュアドレスに対するリフレッシュが行われる。このリフレッシュが終了すると、リフレッシュタイマーが起動して計時が開始される。
この計時は、最後のリフレッシュが行われてからの経過時間を把握し、セルフリフレッシュすべきタイミングを得るために行われる。
ここで、ライトパルス時間TWPが長く設定され、書き込みイネーブル信号/WEが長期間にわたって“L”レベルに維持された場合を考える。この場合、時刻t87において、上述のリフレッシュタイマーの値が、リフレッシュすべきタイミングを与える値に達すると、リフレッシュ制御信号REFBが生成され、時刻t88にかけてリフレッシュが行われる。即ち、上述の書き込みに付随するリフレッシュが行われてから所定の時間が経過した後に、メモリセルアレイのリフレッシュが自発的に行われる。この例では、時刻t87以前の時刻t86において、リフレッシュアドレスR_ADD が「R1+2」に切り替わっているので、時刻t87ではリフレッシュアドレス「R1+2」に対するリフレッシュが行われる。
なお、リフレッシュアドレスは、セルフリフレッシュのタイミングと整合がとられて適切な周期でインクリメントされる。
このように、レイトライト方式を採用したことにより、データを書き込むためには、ワード線が一時的にしか選択されず、書き込みサイクル内の他の期間は、データの書き込みが行われない期間となる。従って、ライトパルス時間TWPで規定される期間であっても、自発的なリフレッシュ(セルフリフレッシュ)を有効に機能させることができ、ライトパルス時間TWPを無制限に長くしても、メモリセルのデータを保持することが可能となる。よって、通常のSRAMのように、ライトパルス時間TWPの上限を規定する必要がなくなり、タイミング仕様上の制約を緩和することができる。
次に、図7に示すタイミングチャートを参照して、サイクルタイムTcyc の上限値が不要となることの理由を詳細に説明する。
時刻t90においてアドレスAddress が「An+1」に切り替わると、時刻t92から時刻t93にかけてワード線WLが一時的に選択され、通常のリードが行われる。即ち、アクセスアドレスAn+1に対する読み出しサイクル内において、このアクセスアドレスAn+1で指定されるメモリセルアレイ上のワード線が一時的に選択されてリードが行われる。このリードに付随して、時刻t94から時刻t95にかけてリフレッシュアドレス「R1+1」で指定されるワード線が選択されてリフレッシュが行われる。このリフレッシュが終了すると、セルフリフレッシュすべきタイミングを得るために、リフレッシュタイマーが起動する。
ここで、サイクルタイムTcycが長く設定され、リードサイクルが長期間にわたって継続した場合を考える。この場合、時刻t97において、上述のリフレッシュタイマーの値が、リフレッシュすべきタイミングを与える値に達すると、上述のライトパルスTWPの場合と同様にリフレッシュ制御信号REFBが生成され、時刻t98にかけてリフレッシュアドレス「R1+2」に対するリフレッシュが行われる。即ち、上述の読み出しサイクルに付随するリフレッシュが行われてから所定の時間が経過した後に、メモリセルアレイのリフレッシュが自発的に行われる。
図7に示す例では、読み出し(リード)を行う場合を説明したが、レイトライトを行う場合のサイクルタイムTcyc を長くしたとしても、同様に適切なタイミングでセルフリフレッシュが行われる。従って、サイクルタイムTcyc を無制限に長くしても、メモリセルのデータを保持することが可能となり、よって、通常のSRAMのように、サイクルタイムTcyc の上限を規定する必要がなく、タイミング仕様上の制約を緩和することができる。
〔第2実施形態〕
第1実施形態では、1メモリサイクル(サイクルタイムTcyc )の中でレイトライト及びリフレッシュ又は読み出し及びリフレッシュを行っていた。一方、本実施形態では、例えば連続する2メモリサイクルにおいて2回のアクセス(レイトライト又は読出)および1回のリフレッシュを行うことで、第1実施形態よりもサイクルタイムを短縮して高速化を図っている。
図8は本実施形態による半導体記憶装置の構成を示すブロック図であって、図1と同じ構成要素については同一の符号を付してある。図1との相違点は、ATD回路4の代わりにATD回路24を設けて、このATD回路24へリフレッシュ制御信号REFA,REFBをさらに入力していることにある。以下に述べるように、本実施形態ではアドレス変化検出信号ATDの生成タイミングが第1実施形態と若干異なっている。
すなわち、第1実施形態ではアドレスAddress が変化し初めた時点からアドレススキュー期間が経過したときに、ATD回路4がアドレス変化検出信号ATDに正のワンショットパルスを発生させていた。これに対し、本実施形態ではサイクルタイムを短くしているために、リフレッシュが行われるメモリサイクルの中ではリフレッシュが完了しない。そこでこのメモリサイクルに続くメモリサイクルでは、直前のメモリサイクルで開始されたリフレッシュが終了するまで読み出し動作又はレイトライト動作の開始を遅らせている。
そのために、ATD回路24はリフレッシュ制御信号REFA,REFBに基づいてリフレッシュが行われたことを検出できるようにしている。そして直前のメモリサイクルでリフレッシュが行われたことを検出した場合、ATD回路24は後続のメモリサイクルで読み出し又はレイトライトの開始を遅延させる分だけワンショットパルスの発生を遅らせている。なお、直前のメモリサイクルでリフレッシュが検出されなかった場合、ATD回路24は第1実施形態と同様にアドレススキュー期間が経過した時点からワンショットパルスを発生させる。
図9は本実施形態による半導体記憶装置の動作を示したタイミングチャートである。同図は第1実施形態で参照した図2の動作タイミングに準じているため、図2と同じ時刻については同一の符号を付してある。本実施形態では読み出し,レイトライト,リフレッシュに要する時間をいずれも図2に合わせてある。一方、本実施形態では図2のようにリフレッシュを毎サイクル行うのではなく、複数のメモリサイクル(図9に示した例では2メモリサイクル)に1回だけリフレッシュを行うようにしている。また、本実施形態ではサイクルタイム(図9中のTcycs)を図2に示したサイクルタイムTcyc よりも短く設定している(すなわち、Tcycs<Tcyc )。このため、本実施形態では、読み出し及びリフレッシュ又はレイトライト及びリフレッシュが1メモリサイクルに収まらなくなっている。
まず、時刻t1〜t6における動作は図2の動作と全く同様であって、アドレススキュー期間後にレイトライトが行われる。次に、図2の時刻t9よりも早い時刻t9aでアドレスAddress が変化を開始し、図2の時刻t10よりも早い時刻t10aでアドレススキュー期間が終了してアドレスAddress が“An+1”に確定する。しかし、本実施形態では図2の場合よりもサイクルタイムが短くなっているため、この時点ではレイトライトに続くリフレッシュがまだ行われている最中である。
このためATD回路24は、アドレス変化検出信号ATDにワンショットパルスを発生させるタイミングを図2のように時刻t11(図中の破線を参照)ではなく、リフレッシュが終了する時点まで遅らせている。これにより、次の読み出し動作の開始が遅延されて、リフレッシュと読み出しとの競合を回避することができる。この後にリフレッシュが終了して時刻t11aになると、ATD回路24はアドレス変化検出信号ATDに正のワンショットパルスを発生させて、アドレス“An+1”の読み出し動作を開始させる。なお、このメモリサイクルでは読み出しに引き続いてリフレッシュは行われない。
この後、図2の時刻t14よりも早い時刻t14aでアドレスAddress が変化を開始し、図2の時刻t12よりも遅い時刻t12aでワンショットパルスが立ち下がる。次に、図2の時刻t15よりも早い時刻t15aでアドレススキュー期間が終了する。この時点では直前のメモリサイクルでリフレッシュが行われていないため、ATD回路24は時刻t15aの直後の時刻t39でアドレス変化検出信号ATDにワンショットパルスを発生させて、アドレス“An+2”に対するアクセスを開始させる。
以上のように本実施形態では、時刻t1〜t14a(実際の動作は時刻t3〜t15a)に対応する2メモリサイクルでリフレッシュを1回だけ行うことで、第1実施形態に比べてサイクルタイムを短縮して高速化を図ることが可能となる。なお、アドレス“An”とアドレス“An+1”とでアドレスアクセス時間TAAを比較すると、ワンショットパルスの発生を遅らせた分(時刻t11〜t11a)だけアドレス“An+1”のアドレスアクセス時間TAAが大きくなるが、アドレスアクセス時間TAAを短縮するよりもサイクルタイムの短縮を優先させたい場合には、第1実施形態よりも本実施形態の方が適している。
なお、上述した説明では読み出しを遅らせる場合について説明したが、読み出しではなくレイトライトであっても全く同様である。
また、図9ではアドレススキュー期間の終了する時刻t15aまでにアドレス“An+1”の読み出しが完了していたが、この読み出し動作が時刻t15a以降になる場合も考えられる。そうした場合には、アドレス“An+1”の読み出し動作が終了するまで、アドレス“An+2”以降のメモリサイクルでもアドレス変化検出信号ATDの発生タイミングを遅らせてアクセス(レイトライト又は読み出し)の開始を遅延させれば良い。したがってこの場合には、3メモリサイクル以上に1回リフレッシュを行うことになる。
〔第3実施形態〕
上述した第1実施形態や第2実施形態ではレイトライトを行うことによってメモリサイクルの短縮化を図っていた。これに対して本実施形態では、第1実施形態等で課した条件に加えてさらに次のような条件を課している。それによって、第1実施形態等のようにレイトライトを行うことなく、書き込み要求のあったメモリサイクル内でメモリセルに対する本来の書き込みを行いながら、第1実施形態等と同様にメモリサイクルを短縮できるなどの効果が得られる。
すなわち、第1実施形態等では書き込みデータが書き込みイネーブル信号/WEの立ち下がりよりも遅れてアドレススキュー期間後に確定する場合を考慮していた。一方、本実施形態では書き込みイネーブル信号/WEのみならず書き込みデータもアドレススキュー期間内で確定するように、半導体記憶装置の仕様を取り決めてある。こうすることで、レイトライトを行った場合と同様にアドレススキュー期間後すぐに書き込みデータをメモリセルへ供給することが可能となり、敢えてレイトライトを行う必要がなくなる。
図10は本実施形態による半導体記憶装置の構成を示したブロック図であって、図1に示したものと同じ構成要素については同一の符号を付してある。図1との相違点はレジスタ回路3,ヒット制御回路11,レジスタ回路12が不要となることである。このため、ラッチ2の出力が内部アドレスL_ADD としてATD回路4,マルチプレクサ6,カラムデコーダ9に供給されている。また、R/W制御回路64は図1に示したR/W制御回路14とほぼ同様の構成であって、制御信号LW1,LW2を生成するための論理が入っていない点においてR/W制御回路14と相違している。このほかの相違点として、センスアンプ・リセット回路10とI/Oバッファ13の間がバスWRBによって直接接続されている。
次に、図11のタイミングチャートを参照して上記構成による半導体記憶装置の動作を説明する。図11に例示した動作タイミングは図2に示した動作タイミングを基本としていることから、ここでは図2の動作との相違点についてのみ説明する。なお、本実施形態は図2に限らず第1実施形態で説明した全ての場合について適用可能である。さて、本実施形態ではアドレス“An”に書き込むべきデータ“Qn”がアドレススキュー期間内の例えば時刻t2aで与えられる。ここで本実施形態でも、第1実施形態と同様に書き込みイネーブル信号/WEが立ち下がった時点(時刻t2)で制御信号CWOを“L”レベルにしている。
このため、バスI/O上に供給された書き込みデータ“Qn”は、I/Oバッファ13を介してバスWRBに送出される。また、本実施形態ではラッチ2の出力がそのまま内部アドレスL_ADD としてマルチプレクサ6に供給されるため、時刻t3で確定したアドレスAddress の値“An”がアドレスM_ADD としてロウデコーダ8に供給される。したがって、時刻t4でアドレス変化検出信号ATDが立ち上がったときから、アドレス“An”に対してデータ“Qn”を通常の書き込み動作(ノーマルライト;図中、「Normal Write」)に従って書き込むことが可能となる。
以上のように本実施形態によれば、第1実施形態のようにレジスタ回路3,レジスタ回路11,ヒット制御回路12が不要であるとともに、R/W制御回路64で制御信号LW1,LW2を生成する必要がないため、回路構成を小規模かつ簡単化することが可能である。なお、上述した説明では書き込みイネーブル信号/WEを立ち下げてから書き込みデータが確定するものとした。しかし、書き込みデータはアドレススキュー期間内に確定すれば良く、書き込みイネーブル信号/WEの立ち下がりと書き込みデータの確定のタイミングはアドレススキュー期間内であれば任意であって良い。また、本実施形態では書き込みイネーブル信号/WEの立ち上がり(時刻t7)で書き込みアドレス及び書き込みデータを取り込む必要はないことから、書き込みアドレス“An”および書き込みデータ“Qn”はノーマルライトに必要な時間だけ保証されていれば良い。
〔第4実施形態〕
本実施形態は汎用のDRAMなどで採用されているページモードと同様の機能を実現するものである。図12は本実施形態による半導体記憶装置の構成を示したブロック図であって、図1に示したものと同じ構成要素および信号名については同一の符号を付してある。本実施形態では、第1実施形態で説明したアドレスAddress を上位ビット側のアドレスUAddressと下位ビット側のアドレスPageAddress に分割することによって、アドレスUAddressを同じくするビットについてはアドレスPageAddress を変えるだけで連続してデータを入出力可能としている。
例えば、本実施形態ではアドレスPageAddress を2ビット幅としているため、アドレスPageAddress を“00”B〜“11”B(ここで「B」は2進数を意味する)の範囲内で可変させることで、連続する4アドレス分のデータを連続的にアクセス可能である。なお、アドレスPageAddress の幅は2ビットに限定されるものではなく、「2ビット」〜「アドレスAddress に含まれる列アドレスのビット数」の範囲内であれば任意のビット数であって良い。また本実施形態では、アドレスPageAddress で4ビットのデータを選択可能としたことに伴って、図1に示したバスWRBの代わりに4組のバスWRBi(ここではi=0〜3)を設けてある。このため、アドレスPageAddress の値が“00”B〜“11”Bであるときに、これらアドレスで指定されるメモリセルの各ビットデータはそれぞれバスWRB0〜WRB3を通じて入出力されることになる。
次に、アドレスバッファ141,ラッチ142,ATD回路143,カラムデコーダ148,センスアンプ・リセット回路149は図1に示したアドレスバッファ1,ラッチ2,ATD回路4,カラムデコーダ9,センスアンプ・リセット回路10と同様の構成である。本実施形態では、第1実施形態におけるアドレスAddress の代わりにアドレスUAddressを用いているため、これらアドレスのビット幅に違いがある分だけこれら回路の構成が異なっている。ただし、センスアンプ・リセット回路149はさらに若干の相違点がある。
すなわち、本実施形態では内部アドレスL_ADD に含まれる個々の列アドレスについて4ビット分のデータをそれぞれバスWRB0〜WRB3上で入出力することになる。このため、センスアンプ・リセット回路149はカラムデコーダ148から出力されるカラム選択信号に従って、メモリセルアレイ7内で隣接している4本のビット線を同時に選択し、これらビット線に接続された4組のセンスアンプとバスWRB0〜WRB3をそれぞれ接続する。なお、ATD回路143にはアドレスPageAddress が入力されないため、アドレスPageAddress を変えて連続的にアクセスを行う場合にはアドレス変化検出信号ATDにワンショットパルスが生成されてしまうことはない。
このほか、レジスタ回路150は図1に示したレジスタ回路12と同様の構成であるが、バスWRBのバス幅を広げてバスWRB0〜WRB3としたことに対応して、レジスタ回路150が同時に取り扱うデータ幅をレジスタ回路12のそれの4倍にしてある。次に、アドレスバッファ151はアドレスのビット幅が異なる点を除くとアドレスバッファ1と同様の構成であって、アドレスPageAddress をバッファリングするものである。また、バスデコーダ152はアドレスバッファ151から出力される2ビット分のページアドレスをデコードして4本のバス選択信号を出力する。
次に、バスセレクタ153はバスWRBiと同じ幅を持つバスWRBAiを介してレジスタ回路150と接続されており、バスデコーダ152から出力されるバス選択信号に従ってバスWRBA0〜WRBA3のうちの何れか一つとバスWRBXとの間を接続する。また、バスセレクタ153はメモリセルアレイ7からの読み出しのために、バスWRBA0〜WRBA3にそれぞれ対応したラッチ回路を内蔵している。このラッチ回路は、リフレッシュ動作と並行してバスWRBAi上のデータを順次外部へ出力してゆくために、アドレス変化検出信号ATDの立ち下がりでバスWRBA0〜WRBA3上に読み出されたデータを同時に取り込むようにしている。
そのためATD回路143は、読み出し動作が完了してバスWRBA0〜WRBA3上にデータが確実に読み出されてからアドレス変化検出信号ATDが立ち下げるように、アドレス変化検出信号ATDのワンショットパルス幅を決定している。一方、書き込み動作の場合、バスセレクタ153は書き込みイネーブル信号/WEの立ち上がりをトリガとして、上記バス選択信号で指定されたバスWRBA0〜WRBA3のうちの何れかへバスWRBX上の書き込みデータを送出するとともに、バスWRBA0〜WRBA3のうちの何れかに対応した内部のラッチ回路へ当該書き込みデータをラッチする。
次に、R/W制御回路154は図1に示したR/W制御回路14とほぼ同様の構成であるが、制御信号LW1,LW2を発生させるタイミングが若干異なっている。すなわち、第1実施形態では書き込みイネーブル信号/WEが立ち上がる度にR/W制御回路14が制御信号LW1,LW2をともに立ち下げていた。一方、本実施形態のR/W制御回路154では、書き込みイネーブル信号/WEの4回目の立ち上がり(すなわち、1回分のページ書き込みを終了させるタイミング)をトリガとして、書き込みイネーブル信号/WEの立ち上がりよりも若干遅れて制御信号LW1,LW2をともに立ち下げている。
次に、上記構成を採用した半導体記憶装置の動作を説明する。まず初めに、図13のタイミングチャートを参照しながらページ読み出し動作について説明する。同図の動作は第1実施形態で説明した図2の動作に準じており、レジスタ回路150内のデータレジスタではなくメモリセルアレイ7からデータが読み出される(ミスヒットの)場合である。
以下では図2の動作との相違点を中心に説明する。なお、本実施形態は図2の場合に限らず第1実施形態で説明したその他の場合についても同様に適用可能である。ここで、図13に示した“Y1”〜“Y4”は“00”B〜“11”Bのうちの何れかの値であって、ここでは後述するバースト動作と区別するために、“Y1”〜“Y4”の値がそれぞれ“11”B,“10”B,“01”B,“00”Bであることを想定する。
まず時刻t10では図2と同様にアドレスUAddressに“An+1”を与える。
ただしこのときにはアドレスPageAddress が“Y1”となっている。これによって、時刻t11でアドレス変化検出信号ATDが立ち上がって、アドレスAn+1で指定された4個のメモリセル(すなわち、下位アドレスが“00”B〜“11”B)をそれぞれバスWRB0〜WRB3上に読み出すための動作が始まる。
ここではミスヒットであるためヒットイネーブル信号HEは“L”レベルであり、読み出しであるため制御信号LW2も“L”レベルであって、レジスタ回路150はバスWRBiとバスWBAiとの間をスルーで接続する。またこのときアドレスPageAddress の値は“11”Bであることから、バスデコーダ152はアドレスバッファ151を通じて受け取ったアドレスPageAddress “Y1”の値“11”Bをデコードする。この結果、バスセレクタ153はバスWRBA3を選択してバスWRBXと接続する。
この後に時刻t13になると、アドレス“An+1”から始まる4ビット分のデータがバスWRB0〜WRB3上に読み出され、レジスタ回路150を通じてバスWRBA0〜WRBA3に出力される。また、バスWRBX上にはバスWRBA3上に読み出されたアドレスAn+1(Y1)の値〔Qn+1(Y1)〕が出力され、I/Oバッファ13,バスI/Oを通じて外部へ出力される。こうして読み出しが完了すると、ATD回路143は時刻t40でアドレス変化検出信号ATDを立ち下げる。これにより、バスセレクタ153はバスWRBA0〜WRBA3上に読み出されている4ビット分のデータを内部のラッチ回路に取り込む。また、このとき図2の場合と同様にリフレッシュ動作が起動されてアドレス“R1+1”のリフレッシュが行われる。
こうしたリフレッシュ動作が行われている最中にアドレスPageAddress を適宜変更してゆくことで、アドレスUAddress(=“An+1”)を同じくするメモリセルのデータを順次読み出すことができる。すなわち、時刻t41でアドレスPageAddress に“Y2”(=“10”B)を与えると、バスセレクタ153はバスWRBA2に対応する内部のラッチ回路が保持するデータを選択してバスWRBXに出力する。これにより、時刻t42になると下位アドレス“10”Bのアドレスに記憶されているデータ“Qn+1(Y2)”がバスI/Oから外部へ出力される。
以後同様にして時刻t43でアドレスPageAddress に“Y3”(=“01”B)を与えると、バスWRBA1に対応したラッチ回路の保持するデータがバスWRBAXに出力され、時刻t44で下位アドレス“01”Bのアドレスに記憶されているデータ“Qn+1(Y3)”がバスI/Oから外部に出力される。また、時刻t45でアドレスPageAddress に“Y4”(=“00”B)を与えると、バスWRBA0に対応したラッチ回路の保持するデータがバスWRBXに出力され、時刻t46で下位アドレス“00”Bのアドレスに記憶されているデータ“Qn+1(Y4)”がバスI/Oから外部に出力される。
以上はミスヒットした場合の動作であったが、ヒットしてバイパス動作が行われる場合もほとんど同じである。ただこの場合には、時刻t11でアドレス変化検出信号ATDが立ち上がると、ヒットイネーブル信号HEが“H”レベルとなる。また、このときには制御信号LW2が“L”レベルであるため、レジスタ回路150はデータレジスタに保持しているデータ“Qn+1(Y1〜Y4)”を同時にバスWRBA3〜WRBA0上へ出力する。そしてこれ以後はミスヒットの場合と全く同じ動作となり、バスWRBA3〜WRBA0上に出力されているデータ“Qn+1(Y1〜Y4)”が順次外部へ出力されてゆく。
このように、本実施形態では時刻t13までに4データ全ての読み出しが完了しているため、最初のアドレス“Y1”(時刻t10〜t41)に比べて2番目以降のアドレス“Y2”〜“Y4”(時刻t41〜t43,時刻t43〜t45,時刻t45〜t47)を高速に変化させることができる。このため、最初のデータのアドレスアクセス時間(時刻t10〜t13)に比べて2番目以降のアドレスアクセス時間(時刻t41〜t42,時刻t43〜t44,時刻t45〜t46)も短くできる。
そして、本実施形態のページ読み出し動作では、バスWRBi上にメモリセルのデータが出力されるようになった時点でメモリセルアレイ7からの読み出し動作を終了させてリフレッシュ動作に移行している。このため、半導体記憶装置外部に対してページ読み出しを行っている最中にメモリセルアレイ7に対するリフレッシュを完了させることができる。したがって、外部から見たときにリフレッシュ期間が完全に見えなくなってサイクルタイムをそれだけ短縮することが可能となる。
次に、図14のタイミングチャートを参照しながらページ書き込み動作について説明する。同図の動作も第1実施形態で説明した図2の動作に準じているため、以下では図2との相違点について説明する。ここで、前提条件として図14に示したよりも以前のメモリサイクルにおいて、アドレスUAddressが“Ax”である4つのアドレスに対してデータ“Qx(Y1〜Y4)”の書き込み要求があったものとする。このため、レジスタ回路3内のアドレスレジスタにはアドレス“Ax”が保持され、レジスタ回路150内のデータレジスタにはデータ“Qx(Y1〜Y4)”が保持されているものとする。
まず時刻t1〜t4までは図2と同じ動作となる。ただし本実施形態では、書き込みイネーブル信号/WEが時刻t2で立ち下がると、レジスタ回路150はデータレジスタに保持されているデータ“Qx(Y1〜Y4)”をそれぞれバスWRB3〜WRB0へ同時に送出する。そして、時刻t4になってレイトライト動作が開始されると、アドレス“AX”から始まる4つのアドレスに対してそれぞれデータ“Qx(Y1〜Y4)”が書き込まれる。
この後に時刻t5となると、アドレス“An(Y1)”(Y1=“11”B)に対する書き込みデータ“Qn(Y1)”がバスI/O上に供給される。この時点で制御信号CWOは“L”レベルであるため、I/Oバッファ13はバスI/O上のデータをそのままバスWRBX上に出力する。次に時刻t7で書き込みイネーブル信号/WEが立ち上がるが、本実施形態ではこの時点でアドレスレジスタ,データレジスタへの取り込みは行わない。そして時刻t51でバスセレクタ153は、バスデコーダ152からのバス選択信号で指定されるバスWRBA3に対応した内部のラッチ回路へデータ“Qn(Y1)をラッチするとともに、この書き込みデータをバスWRBA3に送出する。
この後、アドレスPageAddress だけを適宜変更してゆくのに伴って書き込みデータが順次供給される。すなわち、時刻t52でアドレスPageAddress が“Y2”(=“10”B)に変化し、時刻t53になるとアドレス“An(Y2)”に対する書き込みデータ“Qn(Y2)”がバスI/Oを通じてバスWRBX上に送出される。そして、時刻t54で書き込みイネーブル信号/WEが立ち下げられる。しかしこの場合はアドレスUaddressが変化していないため、アドレス変化検出信号ATDにワンショットパルスは生成されておらず、レイトライトもリフレッシュも行われない。
この後の時刻t55で書き込みイネーブル信号/WEが立ち上がると、バスセレクタ153は時刻t56でバスWRBA2に対応した内部のラッチ回路へデータ“Qn(Y2)をラッチするとともに、この書き込みデータをバスWRBA2に送出する。以後も同様であって、時刻t57でアドレスPageAddress が“Y3”(=“01”B)に変化し、時刻t58でアドレス“An(Y3)”に対する書き込みデータ“Qn(Y3)”がバスWRBX上に送出され、時刻t59で書き込みイネーブル信号/WEが立ち下げられる。
次に、時刻t60で書き込みイネーブル信号/WEが立ち上がると、バスセレクタ153は時刻t61でバスWRBA1に対応したラッチ回路へデータ“Qn(Y3)をラッチするとともに、このデータをバスWRBA1に送出する。次に、時刻t62でアドレスPageAddress が“Y4”(=“00”B)に変化し、時刻t63でアドレス“An(Y4)”に対する書き込みデータ“Qn(Y4)”がバスWRBX上に出力され、時刻t64で書き込みイネーブル信号/WEが立ち下げられる。
次に、時刻t65で書き込みイネーブル信号/WEが立ち上がり、時刻t66でバスセレクタ153はバスWRBA0に対応したラッチ回路へデータ“Qn(Y4)をラッチするとともに、このデータをバスWRBA0に送出する。次に、時刻t65で書き込みイネーブル信号/WEが立ち上がったことを受けて、R/W制御回路154は制御信号LW1,LW2をともに立ち下げる。この結果、レジスタ回路3はアドレスLC_ADDの値“An”をアドレスレジスタに取り込み、レジスタ回路150はバスWRBA3〜WRBA0上のデータ“Qn(Y1〜Y4)”を内部のデータレジスタに取り込む。これにより、次に書き込み要求があったときのレイトライトに使用されるアドレス,データが揃う。以上によって1回分のページ書き込み動作が完了する。
以上のように、ページ書き込みの場合にも、最初のアドレス(時刻t3〜t52)に比べて2番目以降のアドレス(時刻t52〜t57,t57〜t62,t62〜t65)を高速に変化させることができる。また、最初のデータの書き込み時間(時刻t2〜t7)に比べて2番目以降の書き込み時間(時刻t54〜t55,t59〜t60,t64〜t67)も短くなる。そして、本実施形態のページ書き込み動作では、個々のページが4データ(ページアドレスが2ビット)で構成されている場合、データQx(Y1〜Y4)をバスWRB3〜WRB0に対応したレジスタ回路150内のデータレジスタに格納しておいて、これら4データの全てをメモリセルアレイ7へ一括して書き込むことができる。
またこの一括書き込みはレイトライトであることから、実際にページ書き込みを行うメモリサイクル中の早いタイミングで書き込み動作が完了し、ページ読み出しの場合とほぼ同様のタイミングでリフレッシュ動作に移行できる。このため、外部からページ書き込みのためのデータを供給している間にリフレッシュ動作を完結することができ、読み出しの場合と同様に外部から見たときにリフレッシュ期間が完全に見えなくなり、サイクルタイムの短縮に効果的である。
なお、上述した説明では、2回目以降のアドレスPageAddress (Y2〜Y4)に比べて1回目のアドレスPageAddress (Y1)の保持期間を長くとっており、これに対応して書き込みパルスの幅も1回目のものを広くとっている。しかし、本実施形態ではレイトライトを行っており、図14に示したタイミングにおいてアドレスPageAddress および書き込みイネーブル信号/WEは書き込みデータの取り込みのためにだけ使用される。したがって、1回目のアドレスPageAddressの保持期間及び書き込みパルスを2回目以降の保持期間及び書き込みパルスと同じようにもっと狭くしても良い。さらには、2回目以降の保持期間及び書き込みパルスについても図示した幅よりさらに短くしても良い。
また、上述した説明では、図13に示したページ読み出しを行うにあたって、アドレス変化検出信号ATDの立ち下がりでバスWRBAi上のデータをバスセレクタ153内のラッチ回路に取り込んでいた。しかしその代わりに、時刻t41でアドレスPageAddress が“Y1”から“Y2”に変化したタイミングを捉えて、バスセレクタ153内のラッチ回路へ取り込むようにしても良い。図15はこうした変形例による半導体記憶装置の構成を示したブロック図であって、図12と同じ構成要素については同一の符号を付してある。
図12と相違する点は、アドレスPageAddress の変化を検出するために、ATD回路143とは別に専用のATD回路155を設けていることである。このATD回路155はアドレスPageaddress の変化を検出した場合に、アドレス変化検出信号/ATDPに負のワンショットパルスを発生させる。その際、アドレスUaddressが変化したのち、最初にアドレスPageaddress が変化したタイミングでだけワンショットパルスを発生させる必要がある。
そのために、ATD回路155はアドレス変化検出信号ATDの立ち上がりを検出した後にアドレスPageaddress が変化したときにだけアドレス変化検出信号/ATDPにワンショットパルスを発生させる。そして以後ATD回路155は再びアドレス変化検出信号ATDが立ち上がるまでは、たとえアドレスPageaddress が変化してもアドレス変化検出信号/ATDPにワンショットパルスを発生させないようにする。このほか、バスセレクタ153にはアドレス変化検出信号ATDの代わりにアドレス変化検出信号/ATDPを供給する。そして、バスセレクタ153はアドレス変化検出信号/ATDPに発生する負のワンショットパルスの立ち下がりを検出して、バスWRBAi上の読み出しデータを内部のラッチ回路へ取り込むようにする。
また、上述したように図13又は図14ではリフレッシュを1回だけ行うようにしていた。しかし例えば図13において、時刻t40から始まったリフレッシュが完了すると、時刻t48(次のメモリサイクルのアドレススキュー期間の終了タイミング)までの間はメモリセルアレイ7に対するアクセスは為されない。
したがって、図13又は図14に存在する空き時間を利用して複数回のリフレッシュを行うようにしても良い。
〔第5実施形態〕
本実施形態は、第4実施形態で説明したページモード動作に機能限定を加えたバースト動作を行うためのものである。バーストモードは、アドレスAddress のうちの下位アドレスを変化させて高速に読み出し又は書き込みを行う点ではページモードと同じである。しかしながら、バーストモードとページモードではアドレスの与え方が異なっている。すなわち、ページモード動作では全ての下位アドレスを外部から直接入力する仕様であるため、下位アドレスの順序を外部からランダムに指定することが可能である。
例えば第4実施形態ではアドレスPageaddress を“11”B〜“00”Bの順に与えていたが、これを例えば“10”B,“01”B,“00”B,“11”Bなどの順番としても良い。これに対してバーストモードでは、外部から与える下位アドレスの情報はバースト動作の開始時に使用される下位アドレスだけである。つまりバーストモードでは、バースト動作を開始させるためのトリガに対応して、開始時に与えられる以外の下位アドレスを内部で順次生成しており、下位アドレスの発生順序は予め決められたものとなる。
ここで、下位アドレスの発生順序にはリニア方式,インターリーブ方式などが代表的である。このうち前者はアドレスを“1”ずつ増加させてゆく手法である。例えば下位アドレスが2ビットである場合、開始アドレスの値に応じて例えば以下のように下位アドレスを順次生成してゆく。
(開始アドレス) (下位アドレス)
“00”B : “00”B→“01”B→“10”B→“11”B
“01”B : “01”B→“10”B→“11”B→“00”B
“10”B : “10”B→“11”B→“00”B→“01”B
“11”B : “11”B→“00”B→“01”B→“10”B
一方、後者は半導体記憶装置をインターリーブ動作させる場合に適したものであって、開始アドレスの値に応じて例えば以下のように下位アドレスを順次生成してゆく。
(開始アドレス) (下位アドレス)
“00”B : “00”B→“01”B→“10”B→“11”B
“01”B : “01”B→“00”B→“11”B→“10”B
“10”B : “10”B→“11”B→“00”B→“01”B
“11”B : “11”B→“10”B→“01”B→“00”B
次に、図16は本実施形態による半導体記憶装置の構成を示したブロック図であって、図12(第4実施形態)と同じ構成要素については同一の符号を付してある。図16では図12の構成に対してバースト制御回路161及びバーストアドレス発生回路162を追加している。また、アドレスAddress の下位アドレスはバースト動作の開始アドレスを指定するため、図12に示したPageaddress の代わりにStartAddressと表記してある。
バースト制御回路161は、出力イネーブル信号OE(読み出しの場合)又は書き込みイネーブル信号/WE(書き込みの場合)をトリガとして、アドレス変化検出信号ATDの立ち上がりから4個のトリガ信号を出力する。なお、これらトリガ信号が発生するタイミングは後述する動作説明のところで詳述する。次に、バーストアドレス発生回路162は、4つのトリガ信号のうちの最初のものが与えられたときにアドレスバッファ151から出力されているアドレスを開始アドレスと見なして、以後はトリガ信号が与えられる度に、上述したリニア方式又はインターリーブ方式に従って下位アドレスを発生させてゆく。
次に、上記構成による半導体記憶装置の動作を説明する。最初に図17を参照してバースト読み出し動作を説明するが、この動作は第4実施形態のページ読み出しの動作を基本としているため、ここでは図13との相違点について説明する。まず、アドレススキュー期間内の時刻t9aで出力イネーブル信号OEが有効化されると、バースト制御回路161はトリガ信号を出力可能な状態となる。この後、時刻t10になるとアドレスUaddressとして“An+1”が供給されるとともに、アドレスStartAddressとして“Y1”が供給される。
そして時刻t11になってアドレス変化検出信号ATDが立ち上がると、バースト制御回路161はバーストアドレス発生回路162へトリガ信号を出力する。これにより、バーストアドレス発生回路162はアドレスバッファ151から出力されているアドレス“Y1”を内部に取り込むとともに、これをバスデコーダ152に出力する。すると、第4実施形態と同じくアドレス“An+1”に対応した4アドレス分の読み出しが開始され、時刻t13になるとバスWRB0〜WRB3上に現われたデータのうちのデータ“Qn+1(Y1)”がバスWRBX上に出力される。
この後、時刻t40でアドレス変化検出信号ATDが立ち下がってリフレッシュ動作に移行する。次に、時刻t11から時間Tiが経過して時刻t71になると、バースト制御回路161は2個目のトリガ信号を出力し、バーストアドレス発生回路162はその出力を“Y2”に変化させる。なお、時間Tiはメモリセルアレイ7からの読み出しが完了する時刻t13以降に設定される。また、“Y1”が例えば“01”Bであって且つインターリーブ方式を採用するのであれば“Y2”は“00”Bとなる。そして、バスデコーダ152の出力するバス選択信号が変化すると、バスセレクタ153は時刻t72でデータ“Qn+1(Y2)”をバスWRBX上に出力するようになる。
ここで、本実施形態では下位アドレスが半導体記憶装置内部で予め決められたタイミングで変化してゆくため、ページアドレスが外部から与えられる図13の場合(時刻t41)とは異なるタイミング(この場合は時刻t41よりも早い時刻t71)で下位アドレスが“Y2”に変化する。そしてこれ以後も同様であって、バースト制御回路161が3個目,4個目のトリガ信号を時刻t71から時間Ti’後の時刻t73,この時刻t73から時間Ti’後のt75でそれぞれ出力すると、バーストアドレス発生回路162は自身の出力をそれぞれ“Y3”,“Y4”と変化させてゆき、これに対応してバスWRBX上にはそれぞれ時刻t74,t76でデータ“Qn+1(Y3)”,“Qn+1(Y4)”が出力される。
ここで、本実施形態でも時刻t13までに4データ全ての読み出しが完了している。このため、図示したように時間Ti’を上記時間Tiよりも短く(例えば時間Tiの“1/2”)設定しておけば、ページモードの場合と同じく、最初のデータのアドレスアクセス時間(時刻t10〜t13)に比べて2番目以降のデータのアドレスアクセス時間(時刻t71〜t72,時刻t73〜t74,時刻t75〜t76)も短くすることができる。
さて、次に図18を参照してバースト書き込みの動作について説明する。この場合もページ書き込み動作を基本としているため図14との相違点を中心に説明する。なお、ここではリニア方式を採用することを想定し、アドレスY1が“11”B(したがってアドレスY2〜Y4はそれぞれ“00”B〜“10”B)であるとする。まず、アドレススキュー期間内の時刻t2で図14と同様に書き込みイネーブル信号/WEが有効化されると、バースト制御回路161はトリガ信号を出力可能な状態となる。この後、時刻t3になるとアドレスUaddressとして“An”が供給されるとともに、アドレスStartAddressとして“Y1”が供給される。
そして時刻t4になってアドレス変化検出信号ATDが立ち上がると、バースト制御回路161はトリガ信号を出力するので、バーストアドレス発生回路162はアドレスバッファ151から出力されるアドレス“Y1”を取り込んでバスデコーダ152に出力する。これにより、第4実施形態と同じくアドレス“Ax”に対応した4つのアドレスに対してデータ“Qx(Y2〜Y4,Y1)”が同時にレイトライトされる。この後、時刻t5でアドレスAn(Y1)に対する書き込みデータ“Qn(Y1)”がバスI/O上に供給され、時刻t6でアドレス変化検出信号ATDが立ち下がってリフレッシュ動作に移行する。
次に、時刻t4から時間Tjが経過して時刻t81になると、バースト制御回路161は2個目のトリガ信号を出力するので、バーストアドレス発生回路162はその出力を“Y2”に変化させる。そして時刻t82になると、バスセレクタ153は、時刻t7で書き込みイネーブル信号/WEが立ち上がったことを受け、バスWRBA3に対応した内部のラッチ回路へデータ“Qn(Y1)をラッチするとともに、このデータをバスWRBA3に送出する。
次に時刻t83になると、下位アドレスが“Y2”に変化したことに対応してデータ“Qn(Y2)”がバスI/O上に供給されるようになる。また時刻t87になると、バスセレクタ153は時刻t85で書き込みイネーブル信号/WEが立ち上がったことに対応して、(この場合はアドレス“Y2”が“00”Bであるため)バスWRBA0に対応した内部のラッチ回路へデータ“Qn(Y2)をラッチするとともに、このデータをバスWRBA0に送出する。
これ以後も同様であって、バースト制御回路161が3個目,4個目のトリガ信号を時刻t81から時間Tj’後の時刻t86,この時刻t86から時間Tj’後の時刻t91でそれぞれ出力すると、バーストアドレス発生回路162は自身の出力をそれぞれ“Y3”,“Y4”と変化させ、これに対応するようにバスWRBX上にはそれぞれ時刻t89,t94でデータ“Qn(Y3)”,“Qn(Y4)”が出力される。また、時刻t90,t95で書き込みイネーブル信号/WEが立ち上がることを受けて、バスセレクタ153はそれぞれ時刻t93,t96で、(この場合はアドレス“Y3”,“Y4”がそれぞれ“01”B,“10”Bであるため)バスWRBA1,WRBA2に対応したラッチ回路へデータ“Qn(Y3)”,“Qn(Y4)”をラッチするとともに、これらをバスWRBA1,WRBA2に送出する。
なお、本実施形態においてもページモードのときと同様に、1回目の下位アドレスの保持期間(時間Tj)及び書き込みパルスを2回目以降の下位アドレスの保持期間(Tj’)及び書き込みパルスのようにもっと狭くしても良い。さらには、2回目以降の保持期間(Tj’)及び書き込みパルスについても図18に示した幅よりさらに短くしても良い。
以上のように、本実施形態では連続アクセスを行う場合に下位アドレスとして開始アドレス(StartAddress)だけを与えれば良く、ページモードに比べて半導体記憶装置外部における制御が簡単になる。また、バースト動作を行う一般的な半導体記憶装置では動作開始のトリガとして同期式のクロック信号を用いているが、上述したようにクロック信号に従って動作させると消費電力が増大してしまう。これに対し本実施形態では、バースト動作開始のトリガとして出力イネーブル信号OE又は書き込みイネーブル信号/WEを使用しており、クロック信号をトリガとはしていない。このため、本実施形態によれば消費電力を低減することができ、携帯電話などの低消費電力用途の機器に適している。
〔第6実施形態〕
上述した各実施形態では、半導体記憶装置外部から供給されるパワーダウン制御信号PowerDown に基づいてスタンバイモードを切り換えるようにしていた。これに対し、本実施形態では予め決めておいたメモリセルアレイ7上の特定のアドレスに対してモード切り換え指示のためのデータを書き込むことによって、上述した各実施形態と同様のスタンバイモード切り換えを実現している。すなわち、本実施形態ではメモリセルアレイ7上の“0”番地(最下位番地)をモード切り換え専用のデータ格納領域としている。また、本実施形態では、スタンバイモード2に設定するためのデータが“F0”h(ここで「h」は16進数を意味する)であり、スタンバイモード3に設定するためのデータが“0F”hであるものとしている。したがって本実施形態ではバスWRB,WRBXのバス幅が8ビットになっている。
図19は本実施形態による半導体記憶装置の構成を示したブロック図であって、図1に示したものと同じ構成要素および信号名については同一の符号を付してある。図19が図1と相違している点としては、パワーダウン制御信号PowerDown を入力するためのピンが存在しないこと、スタンバイモード制御回路201が新たに追加されていること、リフレッシュ制御回路204,ブースト電源215,基板電圧発生回路216,リファレンス電圧発生回路217がそれぞれ図1に示したリフレッシュ制御回路5,ブースト電源18,基板電圧発生回路19,リファレンス電圧発生回路20と一部の構成が異なっていることが挙げられる。そこで以下、図20〜図22も参照しながらこれら各部の詳細について説明してゆく。なお、これら図20〜図22では図1又は図19に示したものと同じ構成要素および信号名については同一の符号を付けている。
まず図19において、スタンバイモード制御回路201は内部アドレスLC_ADD,チップセレクト信号/CS,書き込みイネーブル信号/WE,バスWRBX上の書き込みデータに基づいてモード設定信号MD2,MD3を発生させる。このうち、モード設定信号MD2はスタンバイモード2に設定するときに“H”レベルとなる信号であって、リフレッシュ制御回路215に供給される。一方、モード設定信号MD3はスタンバイモード2又はスタンバイモード3に設定するときに“H”レベルとなる信号であって、ブースト電源215,基板電圧発生回路216,リファレンス電圧発生回路204に供給される。なお、モード設定信号MD2,MD3が何れも“L”レベルであるときがスタンバイモード1である。
ここで、図20はスタンバイモード制御回路201の詳細構成を示した回路図である。同図において、データWRB0〜WRB3,WRB4〜WRB7は半導体記憶装置外部からバスWRBX上に供給される書き込みデータのビット0〜3,4〜7である。そして、アンド(AND)ゲート221,ノアゲート222及びアンドゲート223から成る回路は、書き込みデータが“F0”hであるときにだけ“H”レベルを出力する。同様にして、ノアゲート224,アンドゲート225及びアンドゲート226から成る回路は、書き込みデータが“0F”hであるときにだけ“H”レベルを出力する。また、オアゲート227はアンドゲート233,226の出力を論理和することにより、書き込みデータとして“F0”h又は“0F”hの何れかが入力されたときに“H”レベルを出力する。
次に、アドレスX0B〜Y7Bは内部アドレスLC_ADDを構成する各ビットを反転させたアドレス値である。例えば、アドレスX0Bはロウアドレスのビット0を反転した値であり、アドレスY7Bはカラムアドレスのビット7を反転した値である。したがって、アンドゲート228は内部アドレスLC_ADDの各ビットが全て“0”B(つまり“0”番地)を検出したときにのみ“H”レベルを出力する。そして、アンドゲート229は“0”番地に対してデータ“F0”h又は“0F”hを書き込む場合にのみ、書き込みイネーブル信号/WEをクロックとしてそのまま出力する。また、アンドゲート230は“0”番地へデータ“0F”hを書き込む場合にのみ書き込みイネーブル信号/WEをそのままクロックとして出力する。
次に、インバータ231〜236及びアンドゲート237から成る回路は、チップセレクト信号/CSの立ち下がりエッジを捕らえて信号CEOSにワンショットパルスを発生させる。次に、ラッチ238はアンドゲート229の出力が立ち上がってC端子にクロックが入力されたときに、D端子に供給された電源電位に対応する“H”レベルをモード設定信号MD2としてQ端子から出力する。また、ラッチ238はR端子に供給される信号CEOSにワンショットパルスが発生したときに、自身をリセットしてモード設定信号MD2に“L”レベルを出力する。ラッチ239も同様の構成であって、アンドゲート230の出力が立ち上がったときにモード設定信号MD3へ“H”レベルを出力し、信号CEOSにワンショットパルスが発生したときにモード設定信号MD3へ“L”レベルを出力する。
以上のように、スタンバイモード2に設定する場合は、書き込みイネーブル信号/WEの立ち上がりに同期してアンドゲート229の出力が立ち上がってDタイプのラッチ238がセットされ、モード設定信号MD2が“H”レベルとなる。また、スタンバイモード3に設定する場合には、書き込みイネーブル信号/WEの立ち上がりに同期してアンドゲート229,230の出力が何れも立ち上がってラッチ238,239がともにセットされ、モード設定信号MD2及びモード設定信号MD3がともに“H”レベルとなる。
次に、図19に示したリフレッシュ制御回路204は、パワーダウン制御信号PowerDown の代わりにチップセレクト信号/CS及びモード設定信号MD2を用いて、リフレッシュアドレスR_ADD ,リフレッシュ制御信号REFA,REFBを発生させる。ここで、図21はリフレッシュ制御回路204の詳細構成を示した回路図である。図中、Pチャネルのトランジスタ240はゲート端子,ソース端子,ドレイン端子がそれぞれアンドゲート241の出力,電源電位,リフレッシュ制御回路5の電源供給ピンに接続されている。このため、アンドゲート241の出力が“L”レベルであればトランジスタ240がオンしてリフレッシュ制御回路5に電源を供給し、同出力が“H”レベルであればトランジスタ240がカットオフして電源供給を停止させる。
アンドゲート241は半導体記憶装置が非選択状態(チップセレクト信号/CSが“H”レベル),かつ,スタンバイモード2又はスタンバイモード3(モード設定信号MD2が“H”レベル)のときに、トランジスタ240をカットオフさせる。次に、インバータ242はモード設定信号MD2の反転信号を生成するものであって、スタンバイモード1のときにその出力が“H”レベルとなる。アンドゲート243は、スタンバイモード1ではリフレッシュ制御回路5が発生させるリフレッシュアドレスR_ADD をそのまま出力する一方、スタンバイモード2又はスタンバイモード3では同アドレスを“0”に固定させる。
アンドゲート244はスタンバイモード1ではリフレッシュ制御回路5が発生させるリフレッシュ制御信号REFAをそのまま出力する一方、スタンバイモード2又はスタンバイモード3では同信号を“L”レベルに固定する。また、インバータ245はインバータ242の出力を反転するため、スタンバイモード1のときに“L”レベルを出力する。オアゲート246はスタンバイモード1ではリフレッシュ制御回路5が発生させるリフレッシュ制御信号REFBをそのまま出力する一方、スタンバイモード2又はスタンバイモード3では同信号を“H”レベルに固定する。
次に、図22はブースト電源215,基板電圧発生回路216,リファレンス電圧発生回路217の詳細構成を示した回路図である。ブースト電源215において、Pチャネルのトランジスタ250,アンドゲート251はそれぞれ図21に示したトランジスタ240,アンドゲート241と同一の機能を有している。
すなわち、半導体記憶装置が非選択状態(チップセレクト信号/CSが“H”レベル),かつ,スタンバイモード3(モード設定信号MD3が“H”レベル)のときに、トランジスタ250をカットオフしてブースト電源18に対する電源供給を停止させ、これ以外の場合にはブースト電源18に電源を供給する。以上のことは基板電圧発生回路216,リファレンス電圧発生回路217についても全く同じであって、これらの回路を構成するトランジスタ252,254はブースト電源215内のトランジスタ250に対応し、アンドゲート253,255はブースト電源215内のアンドゲート251に対応している。
上記構成による半導体記憶装置におけるスタンバイモード切り換え時の動作は次のようになる。
a スタンバイモード1
半導体記憶装置をスタンバイモード1に設定するにはチップセレクト信号/CSを立ち下げれば良い。そうすることで、スタンバイモード制御回路201はチップセレクト信号/CSの立ち下がりエッジからワンショットパルスを発生させてラッチ238,ラッチ239をリセットし、モード設定信号MD2,MD3を何れも“L”レベルとする。
これにより、リフレッシュ制御回路204ではトランジスタ240がオンして内部のリフレッシュ制御回路5へ電源が供給されるとともに、リフレッシュ制御回路5が生成させるリフレッシュアドレスR_ADD ,リフレッシュ制御信号REFA,REFBがそのまま出力されるようになる。また、ブースト電源215,基板電圧発生回路216,リファレンス電圧発生回路217でもそれぞれ内部のブースト電源18,基板電圧発生回路19,リファレンス電圧発生回路20に電源が供給されるようになる。以上の動作が行われることで、上述した各実施形態で説明したような動作が可能となる。
b スタンバイモード2
スタンバイモード2へ設定するには上述したように“0”番地へ“F0”hのデータを書き込めば良い。これにより、スタンバイモード制御回路201は書き込みイネーブル信号/WEの立ち上がりエッジからモード設定信号MD2を“H”レベルにする。この時点で半導体記憶装置が選択されていないか、あるいは、その後に選択されなくなるとチップセレクト信号/CSが“H”レベルとなるため、リフレッシュ制御回路204は内部のリフレッシュ制御回路5に対する電源供給を停止させる。
また、リフレッシュ制御回路5に対する電源供給がなくなったことでその出力が不定となることから、リフレッシュ制御回路204はリフレッシュアドレスR_ADD を“0”に固定させるとともに、リフレッシュ制御信号REFA,REFBのレベルをそれぞれ“L”レベル,“H”レベルに固定させる。またこの時点ではチップセレクト信号/CSが“H”レベルであるため、ATD回路4は内部アドレスLC_ADDの各ビットが変化してもアドレス変化検出信号ATDにワンショットパルスを発生させずに“L”レベルのままとする。
このため、ロウ制御回路16はロウイネーブル信号RE,センスアンプイネーブル信号SE,プリチャージイネーブル信号PE,制御信号CCを何れも“L”レベルに固定させる。したがって、カラムイネーブル信号CE,ラッチ制御信号LCも“L”レベルのままとなる。一方、リフレッシュ制御信号REFBが“H”レベルに固定され,なおかつ,アドレス変化検出信号ATDが“L”レベルに固定されることから、マルチプレクサ6は内部アドレスL_ADD 側を選択し続けるようになる。以上のようにして、リフレッシュ動作が中断されて消費電流が削減される。なお、このときモード設定信号MD3は“L”レベルのままであるため、ブースト電源18,基板電圧発生回路19,リファレンス電圧発生回路20(図22参照)には電源が供給され続ける。
c スタンバイモード3
スタンバイモード3へ設定するには上述したように“0”番地へ“0F”hのデータを書き込めば良い。これにより、スタンバイモード制御回路201は書き込みイネーブル信号/WEの立ち上がりエッジからモード設定信号MD2及びモード設定信号MD3をともに“H”レベルとする。このため、チップセレクト信号/CSが“H”レベルになった時点で、スタンバイモード2のときと同様にリフレッシュ制御回路204は内部のリフレッシュ制御回路5に対する電源供給を停止させる。これと同時に、ブースト電源215,基板電圧発生回路216,リファレンス電圧発生回路217はそれぞれ内部のブースト電源18,基板電圧発生回路19,リファレンス電圧発生回路20に対する電源供給を停止させる。これによって、スタンバイモード2と同様にリフレッシュ制御が中断されるのに加えて、電源系制御回路の電流もカットされてさらに消費電流が低減する。
以上のように、本実施形態では第1実施形態で説明したパワーダウン制御信号PowerDown のような信号を半導体記憶装置外部から与える必要がないため、その分だけピン数を削減することができる。なお、上述した説明では第1実施形態をもとに説明したが、同様のことをそのまま第2実施形態以降に適用しても良い。
のみならず、上述した各実施形態で説明したスタンバイモードの制御を疑似SRAMなどの既存の半導体記憶装置に適用しても良い。
〔変形例〕
上述した各実施形態ではメモリセルアレイ7の各メモリセルが1トランジスタ1キャパシタで構成されているものとしたが、メモリセルの構成がこうした形態に限定されるものではない。確かに、チップサイズ等の点からはこうしたメモリセルが最も好ましいが、本発明の半導体記憶装置では1トランジスタ1キャパシタ以外のメモリセルの使用を否定するものではない。すなわち、汎用SRAMのメモリセルよりも構成の小さなDRAMメモリセルであれば、1トランジスタ1キャパシタ構成でなくとも汎用SRAMに比べてチップサイズを削減できる効果がある。また、上述した各実施形態では例えばアドレス変化検出信号ATDに発生するワンショットパルスの立ち下がりエッジからリフレッシュを行うようにしていたが、ワンショットパルスの論理を反転させてその立ち上がりエッジからリフレッシュを行うようにしても良い。これは、アドレス変化検出信号ATD以外の各信号についても全く同様である。
また、上述した各実施形態による半導体記憶装置は、例えば図1に示した回路全体が単一のチップ上に実装されている形態であって良いのはもちろんであるが、回路全体が幾つかの機能ブロックに分割されていて各機能ブロックが別々のチップに実装されているような形態であっても良い。後者の例としては、各種の制御信号やアドレス信号を発生させる制御部分とメモリセル部分とが別々のチップ(コントロールチップとメモリチップ)に搭載された混載IC(集積回路)が考えられる。つまり、メモリチップの外部に設けたコントロールチップから各種の制御信号をメモリチップへ供給するような構成も本発明の範疇に属する。