説明

半導体記憶装置

【課題】共通データバスを共有する複数のローカルメモリユニットが重複してデータを転送すること、あるいは、複数のローカルメモリユニットに対して重複してデータを転送することを抑制した半導体記憶装置を提供する。
【解決手段】半導体記憶装置は、複数のメモリセルを含む複数のローカルメモリユニットLMU<0>〜LMU<7>を備える。共通データバスDBは、複数のローカルメモリユニットに共有され、複数のローカルメモリユニットからデータを転送し、あるいは、複数のローカルメモリユニットへデータを転送する。タイミングコントローラT/Cはローカルメモリユニットの単位で配置するのではなく、インターリーブ動作を行なう単位(ローカルメモリユニットLMU<0>〜LMU<7>のグループ)に対して1つ配置する。これにより読出しデータまたは書込みデータは、共通データバスDBにおいて衝突しない。

【発明の詳細な説明】
【技術分野】
【0001】
本発明による実施形態は、半導体記憶装置に関する。
【背景技術】
【0002】
従来からMRAM(Magnetic Random Access Memory)等の半導体記憶装置は、複数のメモリユニットに対して共通に設けられた共通データバスを備え、この共通データバスを介して連続的にデータを転送するように構成されている(インターリーブ動作)。この場合、データバスを共有する複数のメモリユニットが重複してデータを転送しないように、あるいは、該複数のメモリユニットへ重複してデータを転送しないようにタイミングを制御する必要がある。
【0003】
従来、複数のメモリユニットのそれぞれに対してデータ転送のタイミングを制御するために、各メモリユニットに対応して遅延回路を設ける必要があった。しかし、遅延回路は、プロセスばらつき等によって、遅延時間にばらつきが生じる。このような遅延時間のばらつきは、データバスにおけるデータの重複転送を引き起こすおそれがある。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2010−49730号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
データバスを共有する複数のメモリユニットが重複してデータを転送することを抑制し、あるいは、上記複数のメモリユニットに対して重複してデータを転送することを抑制した半導体記憶装置を提供する。
【課題を解決するための手段】
【0006】
本実施形態による半導体記憶装置は、複数のメモリセルを含む複数のメモリユニットを備える。データバスは、複数のメモリユニットに共有され、複数のメモリユニットからデータを転送し、あるいは、該複数のメモリユニットへデータを転送する。遅延時間ユニットは、データバスを共有する複数のメモリユニットに対して共通に設けられている。タイミングコントローラは、遅延時間ユニットを含み、入力信号を受け取ってから所定の遅延時間後に複数のメモリユニットを駆動させる制御信号を出力する。
【図面の簡単な説明】
【0007】
【図1】本実施形態に従った磁気ランダムアクセスメモリ(以下、MRAM)のメモリチップを示すブロック図。
【図2】4つのメモリユニットMUを示すブロック図。
【図3】第1の実施形態による共通データバスDB、ローカルメモリユニットLMU<0>〜LMU<7>およびタイミングコントローラT/Cの関係を示すブロック図。
【図4】第1の実施形態によるタイミングコントローラT/Cの内部構成を示す構成図。
【図5】遅延時間ユニットTkの内部構成を示す構成図、遅延素子Teの内部構成を示す回路図および遅延時間ユニットTkの動作を示すタイミング図。
【図6】アドレスストローブ信号ASTのパルス幅の劣化を示す比較例の図。
【図7】第1の実施形態による半導体記憶装置のデータ読出し動作を示すタイミング図。
【図8】第2の実施形態に従った共通データバスDB、ローカルメモリユニットLMU<0>〜LMU<7>およびタイミングコントローラT/Cの関係を示すブロック図。
【発明を実施するための形態】
【0008】
以下、図面を参照して本発明に係る実施形態を説明する。本実施形態は、本発明を限定するものではない。
【0009】
(第1の実施形態)
図1は、第1の実施形態に従った磁気ランダムアクセスメモリ(以下、MRAM)のメモリチップを示すブロック図である。図2は、4つのメモリユニットMUをさらに拡大表示したブロック図である。尚、本実施形態は、MRAM以外の抵抗変化型素子を用いたメモリ(例えば、PCRAM、ReRAM等)、その他、SRAM、DRAM等のメモリ一般にも適用可能である。
【0010】
本実施形態によるMRAMは、メモリセルアレイMCAと、センスアンプSAと、ライトドライバWDと、メインロウデコーダMRDと、ローカルロウデコーダLRDと、リードバッファRBと、カラムデコーダCDと、タイミングコントローラT/Cと、制御信号ドライバCSDと、共通データバスDBと、カラム選択線CSLとを備えている。
【0011】
メモリセルアレイMCAは、例えばマトリクス状に二次元配置された複数のメモリセルMCを備えている。各メモリセルMCはビット線対BL1、BL2とワード線WLとの交点に対応して配置されている。すなわち、メモリセルMCの一端は、ビット線対の一方BL1に接続され、他端はビット線対の他方BL2に接続される。ビット線対BL1,BL2は、カラム方向に延伸している。ワード線WLは、カラム方向に対して直交するロウ方向に延伸している。
【0012】
メモリセルMCは、TMR(tunneling magnetoresistive)効果を利用したMTJ(Magnetic Tunnel Junction)素子と、セルトランジスタとを備え、スピン偏極トンネル効果による磁気抵抗の変化によりデジタルデータを記憶する。
【0013】
データ読出しまたはデータ書込み時に、同時にアクセスされる複数のメモリセルアレイMCAは、それぞれローカルメモリユニットLMU<0>〜LMU<7>を構成している。即ち、各ローカルメモリユニットLMU<i>(i=0〜7)に含まれるメモリセルアレイMCAは、同じタイミングでアクセスされる。
【0014】
センスアンプSAは、例えば、ビット線BL1を介してメモリセルMCに接続されており、メモリセルMCのデータを検出する機能を有する。ライトドライバWDは、例えば、ビット線BL1、BL2を介してメモリセルMCに接続されており、メモリセルMCにデータを書き込む機能を有する。データ読出し時には、ビット線BL2は、基準電圧(グランド)に接続される。データ書込み時には、ライトドライバWDは、書込みデータの論理によって、ビット線BL1を高レベル電圧にし、あるいは、ビット線BL2を高レベル電圧にする。
【0015】
メインロウデコーダMRDは、ロウアドレスを受け取り、ローカルロウデコーダLRDへそのロウアドレスを送る。ローカルロウデコーダLRDは、ロウアドレスに従って選択されたワード線WLに電圧を印加する。
【0016】
カラムデコーダCDは、カラムアドレスに従って選択されたカラム選択線CSLを介してセンスアンプSAまたはライトドライバWDを駆動させ、選択カラムのビット線対LB1、BL2に電圧を印加するように構成されている。
【0017】
共通データバスDBは、複数のローカルメモリユニットLMU<0>〜LMU<7>に共有されている。共通データバスDBは、ローカルメモリユニットLMU<0>〜LMU<7>からのデータを異なるタイミングで転送し、あるいは、ローカルメモリユニットLMU<0>〜LMU<7>へデータを異なるタイミングで転送する。
【0018】
尚、本実施形態において、16本の共通データバス対群DBが、ローカルメモリユニットLMU<0>〜LMU<7>に共有されている。しかし、ローカルメモリユニットLMU<0>〜LMU<7>に共有される共通データバスDBの数はこれに限定しない。また、本実施形態において、データバスDBを共有するローカルメモリユニットLMU<0>〜LMU<7>の数は8個であるが、データバスDBを共有するローカルメモリユニットの数もこれに限定しない。
【0019】
リードバッファRBは、共通データバスDBを介してセンスアンプSAから読み出されたデータを受け取り、一時的に保持するバッファである。尚、書込みデータは、WRITEバッファから共通データバスDBを介してライトドライバWDへ転送される。
【0020】
タイミングコントローラT/Cは、同一の共通データバス対群DBに接続されたローカルメモリユニットLMU<0>〜LMU<7>に含まれる複数のメモリセルアレイMCAがデータを重複することなく転送することができるように、ローカルメモリユニットLMU<0>〜LMU<7>のそれぞれの動作タイミングを制御する。これにより、ローカルメモリユニットLMU<0>〜LMU<7>は、互いに異なるタイミングで共通データバスDBへデータを転送し、あるいは、互いに異なるタイミングで共通データバスDBからデータを受け取ることができる。タイミングコントローラT/Cは、複数のローカルメモリユニットLMU<0>〜LMU<7>に対して共通に設けられている。タイミングコントローラT/Cは、メモリがインターリーブ動作することができるようにリードバッファRB,ライトバッファWBおよびキャッシュメモリCMも制御する。
【0021】
制御信号ドライバCSDは、タイミングコントローラT/Cからのコマンドを受けて、センスアンプSA、ライトドライバWDおよびローカルロウデコーダLRD等を動作させるように構成されている。
【0022】
図3は、第1の実施形態による共通データバスDB、ローカルメモリユニットLMU<0>〜LMU<7>およびタイミングコントローラT/Cの関係を示すブロック図である。図3は、選択カラムの複数のメモリセルアレイMCAおよび該選択カラムの共通データバス対群DBを示していると考えてもよい。
【0023】
タイミングコントローラT/Cは、単数または複数の共通データバス対群DBを共有する複数のローカルメモリユニットLMU<0>〜LMU<7>に対して共通に設けられている。タイミングコントローラT/Cは、アドレスストローブ信号ASTおよびLMU選択アドレス信号LSAを受け取り、互いに異なるタイミングでデータを転送するようにローカルメモリユニットLMU<0>〜LMU<7>を制御する。例えば、アドレスストローブ信号ASTを受け取ったときにLMU選択アドレス信号LSAがLMU<0>を選択している場合には、タイミングコントローラT/Cは、LMU<0>を駆動させ、LMU<0>が共通データバスDBへデータを転送する。次にアドレスストローブ信号ASTを受け取ったときにLMU選択アドレス信号LSAがLMU<1>を選択している場合には、タイミングコントローラT/Cは、LMU<1>を駆動させ、LMU<1>がデータを共通データバスDBへ転送する。このように、タイミングコントローラT/Cは、ローカルメモリユニットLMU<0>〜LMU<7>からのデータを重複することなく連続的に共通データバスDBへ転送することができる。逆に、ローカルメモリユニットLMU<0>〜LMU<7>が共通データバスDBからデータを受け取るときも、タイミングコントローラT/Cは、共通データバスDBからのデータを重複することなく連続的にローカルメモリユニットLMU<0>〜LMU<7>へ転送することができる。即ち、ローカルメモリユニットLMU<0>〜LMU<7>は、インターリーブ動作をすることができる。
【0024】
このように、本実施形態では、ローカルメモリユニットの単位でタイミングコントローラを配置するのではなく、データバスDBを共有しインターリーブ動作を行なう単位(ローカルメモリユニットLMU<0>〜LMU<7>のグループ)に対して1つのタイミングコントローラT/Cを配置している。これにより、インターリーブ動作において、連続して転送されるデータが同一の共通データバスDBにおいて重複しない。即ち、読出しデータまたは書込みデータは、共通データバスDBにおいて衝突しない。以下、本実施形態をより詳細に説明する。
【0025】
図4は、第1の実施形態によるタイミングコントローラT/Cの内部構成を示す構成図である。タイミングコントローラT/Cは、遅延時間ユニット列TDCと、カスケードステートマシンCSM<0>〜CSM<7>と、アドレスデコーダAD<0>〜AD<7>と、論理ゲート(NANDゲート)G<0>〜G<7>とを備えている。
【0026】
遅延回路としての遅延時間ユニット列TDCは、複数の遅延時間ユニットT0〜Tnを直列に接続して構成されており、8つのカスケードステートマシンCSM<0>〜CSM<7>に対して共有されている。カスケードステートマシンCSM<0>〜CSM<7>が、1つの遅延時間ユニット列TDCに対して並列に接続されていると換言してもよい。各遅延時間ユニットT0〜Tn−1は、アドレスストローブ信号ASTを受けてから所定の遅延時間(例えば、2ns)の経過後に、次の遅延時間ユニットT1〜Tnへアドレスストローブ信号ASTを出力するように構成されている。最初の遅延時間ユニットT0はアドレスデコーダAD<0>〜AD<7>からアドレスストローブ信号ASTを受ける。最後の遅延時間ユニットTnは選択カラムの論理ゲートGnにアドレスストローブ信号ASTを出力する。遅延時間ユニットT0〜Tnの内部構成は、図5を参照して後述する。
【0027】
アドレスデコーダAD<0>〜AD<7>は、LMU選択アドレス信号LSAを受けて、これをデコードするように構成されている。そして、アドレスデコーダAD<0>〜AD<7>は、自己のカラムが選択されている場合、アドレスストローブ信号ASTに基づいてカスケードステートマシンCSM<0>〜CSM<7>を動作させる。
【0028】
カスケードステートマシンCSM<0>〜CSM<7>は、それぞれローカルメモリユニットLMU<0>〜LMU<7>に対応して設けられている。カスケードステートマシンCSM<0>〜CSM<7>は、それぞれ複数のSR(Set-Reset)ラッチ回路L0〜Lnと、論理ゲートG0〜Gnとを備えている。
【0029】
カスケードステートマシンCSM<0>〜CSM<7>の構成はそれぞれ同じであるので、以下、カスケードステートマシンCSM<0>の構成を説明し、他のカスケードステートマシンCSM<1>〜CSM<7>の構成の説明を省略する。
【0030】
ステータスラッチ部としてのSRラッチ回路L0〜Lnは、それぞれ遅延時間ユニットT0〜Tnに対応して設けられており、アドレスデコーダAD<0>または論理ゲートG0〜Gn−1から受け取ったアドレスストローブ信号ASTをラッチするように構成されている。SRラッチ回路L0〜Lnがアドレスストローブ信号ASTをラッチするタイミングは、それぞれ遅延時間ユニットT0〜Tnによって決定される。或る遅延時間ユニットTk(k=0〜n)がアドレスストローブ信号ASTを伝達しているとき、その遅延時間ユニットTkに対応するラッチ回路Lkは、アドレスストローブ信号ASTをラッチする。そして、アドレスストローブ信号ASTが全ての遅延時間ユニットT0〜Tnを通過すると、全てのSRラッチ回路L0〜Lnがアドレスストローブ信号ASTをラッチした状態となる。その後、リセット信号RESETn<0>が活性化すると、全SRラッチ回路L0〜Lnにラッチされていたデータは、全てリセットされる。即ち、ラッチ回路L0〜Lnは、それぞれに対応する遅延時間ユニットT0〜Tnがアドレスストローブ信号ASTを伝達したことを示すステータスラッチ部として機能する。
【0031】
例えば、ラッチ回路L0〜Lnは、当初、論理ロウを出力するように設定されている。即ち、ノードT0<0>〜Tn<0>および制御信号RAST<0>〜RAST<n>は、論理ロウの状態である。また、アドレスデコーダAD<0>は、当初、論理ハイに不活性化されている。
【0032】
LMU選択アドレス信号LSAがカスケードステートマシンCSM<0>を選択する信号である場合、アドレスデコーダAD<0>がアドレスストローブ信号ASTの活性化(論理ハイ)を受けて、論理ロウを出力する。これにより、ラッチ回路L0がノードT0<0>に論理ハイをラッチする。遅延時間ユニットT0が、所定の遅延時間の経過後、アドレスストローブ信号AST(論理ハイ)を出力する。これにより、制御信号RAST<0>が倫理ハイに活性化される。論理ゲートG0は、ラッチ回路L0からの出力値(論理ハイ)および遅延時間ユニットT0からの出力値(論理ハイ)を受けて、ラッチ回路L1へ論理ロウを出力する。これにより、ラッチ回路L1は、ノードT1<0>に論理ハイをラッチする。遅延時間ユニットT0からのアドレスストローブ信号ASTは、遅延時間ユニットT1へも出力される。
【0033】
遅延時間ユニットT1が、所定の遅延時間の経過後、アドレスストローブ信号ASTの論理ハイを出力する。これにより、制御信号RAST<1>が倫理ハイに活性化される。論理ゲートG1は、ラッチ回路L1からの出力値(論理ハイ)および遅延時間ユニットT1からの出力値(論理ハイ)を受けて、ラッチ回路L2へ論理ロウを出力する。
【0034】
このように、遅延時間ユニット列TDCは、ラッチ回路Lkがアドレスストローブ信号ASTをラッチしてから遅延時間ユニットTkの遅延時間の経過後に、制御信号RAST<k>を活性化させ、かつ、次のラッチ回路Lk+1へアドレスストローブ信号ASTを伝達する。さらに、遅延時間ユニット列TDCは、ラッチ回路Lk+1がアドレスストローブ信号ASTをラッチしてから遅延時間ユニットTk+1の遅延時間の経過後に、制御信号RAST<k+1>を活性化させ、かつ、次のラッチ回路Lk+2へアドレスストローブ信号ASTを伝達する。
【0035】
これを繰り返すことによって、遅延時間ユニット列TDCは、アドレスストローブ信号ASTが入力されてから遅延時間ユニットT0〜Tnの総遅延時間の経過後に制御信号RAST<n>を論理ハイに活性化させる。即ち、アドレスストローブ信号ASTが入力されてからアドレスストローブ信号ASTが制御信号RAST<n>として出力されるまでの時間は、遅延時間ユニットT0〜Tnによって決定される。
【0036】
本実施形態において、制御信号RAST<0>〜RAST<n>は、ローカルメモリユニットLMU<0>の各構成要素を動作させるために割り当てられる。例えば、制御信号RAST<0>は、メインロウデコーダMRD、ローカルロウデコーダLRDを駆動させ、選択ワード線WLを活性化させるために用いられ得る。制御信号RAST<1>は、センスアンプSAを活性化させるセンスアンプイネーブル信号として用いられ得る。制御信号RASR<2>は、データの検出開始のトリガーとして用いられ得る。制御信号RAST<n>が活性化されると、ローカルメモリユニットLMU<0>からの読出しデータが共通データバスDBを介してリードバッファRBへ転送される。このように、タイミングコントローラT/Cは、共通データバスDBへのデータ転送のタイミングを決定するだけでなく、メモリの各構成要素の動作タイミングを決定することができる。
【0037】
LMU選択アドレス信号LSAを変更することによって、他のカスケードステートマシンCSM<1>〜CSM<7>を選択することができる。このとき、カスケードステートマシンCSM<1>〜CSM<7>も上記カスケードステートマシンCSM<0>と同様に動作する。これにより、本実施形態による半導体記憶装置は、ローカルメモリユニットLMU<0>〜LMU<7>のインターリーブ動作のタイミングを司る遅延回路を一元化することができる。
【0038】
このように本実施形態では、遅延時間ユニットT0〜Tnは、カスケードステートマシンCSM<0>〜CSM<7>に対して共通である。従って、いずれのカスケードステートマシンCSM<0>〜CSM<7>が選択された場合であっても、アドレスストローブ信号ASTが入力されてからアドレスストローブ信号ASTがRAST<0>〜RAST<n>として出力されるまでの遅延時間は同じである。
【0039】
図5(A)は、遅延時間ユニットT0〜Tnのうち或る遅延時間ユニットTkの内部構成を示す構成図である。kは0〜nの整数である。図5(A)に示すように、遅延時間ユニットTkは、ラッチ回路Ltと、遅延素子Teと、パルス幅決定遅延素子Tpと、論理ゲートGtとを備えている。論理ゲートGtは、ラッチ回路Ltの出力および遅延素子Teの出力を受けて、それらのNAND演算結果を出力する。即ち、論理ゲートGtは、ラッチ回路Ltの出力および遅延素子Teの出力の両方が論理ハイに活性化されたときに、出力を論理ロウに活性化させる。ラッチ回路Ltは、入力信号ASTinに応じて実質的に遅滞無くノードXの信号(例えば、論理ハイ)を論理ゲートGtおよび遅延素子Teへ出力する。ラッチ回路Ltは、入力信号ASTinをラッチする機能を有する。遅延素子Teは、ラッチされたノードXの信号を受けて、所定の遅延時間の経過後に、論理ゲートGtおよびパルス幅決定遅延素子TpへノードXの信号を出力する。これにより、論理ゲートGtは、入力信号ASTinが入力されてから所定の遅延時間の経過後に論理ロウを出力する。即ち、出力信号ASToutが論理ハイに活性化されるタイミングは、入力信号ASTinが入力されてから所定の遅延時間の経過後である。このように、遅延素子Teは、遅延時間ユニットTkにおけるアドレスストローブ信号ASTの遅延時間を実質的に決定することができる。
【0040】
パルス幅決定遅延素子Tpは、遅延素子Teとラッチ回路Ltとの間に接続され、遅延素子Teからの出力信号を受けて、所定の遅延時間後に、ラッチ回路LtへノードXの信号を出力する。これにより、遅延時間ユニットTkは、出力信号ASToutが立ち上がってからパルス幅決定遅延素子Tpの遅延時間の経過後に出力信号ASToutを立ち下ける。即ち、パルス幅決定遅延素子Tpは、出力信号ASToutのパルス幅を決定する機能を有する。
【0041】
遅延時間ユニットT0〜Tnの構成は、遅延時間ユニットTkの構成と同様でよい。
【0042】
図5(B)は、遅延素子Teの内部構成を示す回路図である。図5(B)に示すように、遅延素子TeはCR遅延回路で構成されてもよい。これにより、遅延素子Teの遅延時間は、C(Capacitor)およびR(Resistor)の大きさによって設定することができる。キャパシタCは、ゲートキャパシタを用いて形成することができる。抵抗Rは、拡散層抵抗またはポリシリコン抵抗を用いて形成することができる。
【0043】
図5(C)は、遅延時間ユニットTkの動作を示すタイミング図である。入力信号ASTinが論理ハイに活性化されると、ノードXが遅滞無く論理ハイにラッチされる。遅延時間Tdの経過後、遅延素子TeがノードXの信号を論理ゲートGtへ出力する。これにより、論理ゲートGtが論理ロウを出力し、出力信号ASToutが論理ハイに活性化される。
【0044】
その後、パルス幅決定遅延素子Tpが、遅延時間Tplsの経過後、ノードXの反転信号をラッチ回路Ltへ出力する。これにより、ノードXの信号が論理ロウにラッチされ、出力信号ASToutが論理ロウに不活性化される。
【0045】
このように、入力信号ASTinは、遅延時間Tdの経過後に、Tplsのパルス幅を有する信号ASToutとして出力される。尚、遅延時間ユニットTkの構成は、特に限定されず、インバータ遅延回路、単なるRC遅延回路、定電流源を使用した遅延回路等であってもよい。
【0046】
ただし、図5(A)に示すラッチ回路Lt、パルス幅決定遅延素子Tp、論理ゲートGtを省いて、図5(B)に示すような、単にRC遅延回路付きインバータを遅延時間ユニットTkとして用いた場合、アドレスストローブ信号ASTのパルス幅は、遅延時間ユニットT0〜Tnの後段へ伝達されるに従い劣化する(短くなる)。例えば、図6に示すように、アドレスストローブ信号ASTのパルス幅は、遅延時間ユニットT0からTnへ伝達されるに従って劣化する。これでは、タイミングコントローラT/Cが正常に機能せず、誤動作を誘発するおそれがある。
【0047】
これに対処するために、本実施形態では、図5(A)に示すように、ラッチ回路Lt、パルス幅決定遅延素子Tp、論理ゲートGtを設けることによって、パルス幅を回復させている。これにより、図5(C)に示すように、アドレスストローブ信号ASTのパルス幅は、各遅延時間ユニットT0〜TnにおいてTplsに設定される。パルス幅決定遅延素子Tpは、例えば、ファンアウト3程度のインバータを偶数段接続した程度の単純な構成でよい。遅延時間Tplsは、例えば、約1nsでよい。このように、本実施形態によれば、アドレスストローブ信号ASTのパルス幅を維持することができる。
【0048】
本実施形態による半導体記憶装置は、インターリーブ動作のタイミングを司る遅延回路を一元化している。これにより、共通データバスDBを共有する複数のローカルメモリユニットLMU<0>〜LMU<7>におけるデータ転送の遅延時間がばらつかない。よって、ローカルメモリユニットLMU<0>〜LMU<7>が、共通データバスDBにおいてデータを重複して転送することを抑制できる。あるいは、共通データバスDBからローカルメモリユニットLMU<0>〜LMU<7>へ重複してデータを転送することを抑制することができる。
【0049】
例えば、従来のように、ローカルメモリユニットLMU<0>〜LMU<7>ごとに遅延回路が設けられており、各遅延回路の遅延時間が30nsとする。このようなメモリを実際に製造すると、各遅延回路の遅延時間はプロセスばらつき等によりばらつく。この遅延時間のばらつきが±10%と仮定すると、或る遅延回路の遅延時間が33nsとなり、他の遅延回路の遅延時間が27nsとなり得る。この場合、データバスを連続して伝搬する2つのデータの時間間隔が6nsも短縮する可能性がある。複数のローカルメモリユニットが5nsごとに連続してインターリーブ動作をした場合、共通データバスDBにおいて、2つのデータがコリジョンする。
【0050】
これに対し、本実施形態では、共通データバスDBを共有する複数のローカルメモリユニットLMU<0>〜LMU<7>におけるデータ転送の遅延時間がばらつかない。よって、共通データバスDBにおいて複数のデータがコリジョンすることを抑制することができる。
【0051】
さらに、遅延素子のキャパシタおよび抵抗は、通常、設置面積を要する。従って、本実施形態によれば、インターリーブ動作のタイミングを司る遅延回路を一元化することより、従来よりも、タイミングコントローラT/Cのレイアウト面積を小さくすることができる。
【0052】
図7は、第1の実施形態による半導体記憶装置のデータ読出し動作を示すタイミング図である。図7には、2つのローカルメモリユニットLMU<0>、LMU<1>に連続してアクセスするときのインターリーブ動作を示している。勿論、本実施形態による半導体記憶装置は、より多くのローカルメモリユニットに連続してアクセスし、インターリーブ動作をすることもできる。
【0053】
t0においてLMU選択アドレスLSAおよびアドレスストローブ信号ASTがタイミングコントローラT/Cに入力されると、タイミングコントローラT/Cは、LMU選択アドレスLSAに従ってカスケードステートマシンCSMを駆動させる。LMU選択アドレスLSAがローカルメモリユニットLMU<0>を選択するアドレスである場合、タイミングコントローラT/Cは、ローカルメモリユニットLMU<0>に対応するカスケードステートマシンCSM<0>を駆動させる。
【0054】
上述のように、遅延時間ユニット列TDCは、アドレスストローブ信号ASTを所定の遅延時間ずつ遅延させながら制御信号RAST<0>〜RAST<n>を活性化させる。また、遅延時間ユニット列TDCは、アドレスストローブ信号ASTを所定の遅延時間ずつ遅延させながらカスケードステートマシンCSM<0>のラッチ回路L0〜Lnのラッチ状態を順に反転させる。
【0055】
まず、アドレスストローブ信号ASTによってラッチ回路L0が反転する(t1)。その後、遅延時間ユニットT0の遅延時間が経過すると、制御信号RAST<0>が活性化され、かつ、ラッチ回路L1のラッチ状態が反転する(t2)。さらに、遅延時間ユニットT1の遅延時間が経過すると、制御信号RAST<1>が活性化され、かつ、ラッチ回路L2のラッチ状態が反転する(t3)。遅延時間ユニット列TDCおよびカスケードステートマシンCSM<0>がこのような動作を繰り返し、tn+1において、ラッチ回路LnがノードTn<0>を立ち上げると、trst0において、論理ゲートGnがリセット信号RESETn<0>を論理ロウに活性化させる。リセット信号RESETn<0>が論理ロウに活性化されることによって、カスケードステートマシンCSM<0>内の全ラッチ回路L0〜Lnが初期状態にリセットされる。
【0056】
一方、t0においてLMU選択アドレスLSAおよびアドレスストローブ信号ASTを受けてからΔTs(例えば、5ns)後に、次のLMU選択アドレスLSAおよびアドレスストローブ信号ASTがタイミングコントローラT/Cに入力される(t10)。LMU選択アドレスLSAがローカルメモリユニットLMU<1>を選択するアドレスである場合、タイミングコントローラT/Cは、ローカルメモリユニットLMU<1>に対応するカスケードステートマシンCSM<1>を駆動させる。
【0057】
そして、遅延時間ユニット列TDCは、アドレスストローブ信号ASTを所定の遅延時間ずつ遅延させながら制御信号RAST<0>〜RAST<n>を活性化させる。また、遅延時間ユニット列TDCは、アドレスストローブ信号ASTを所定の遅延時間ずつ遅延させながら、カスケードステートマシンCSM<1>のラッチ回路L0〜Lnのラッチ状態を順に反転させる。
【0058】
まず、アドレスストローブ信号ASTによってラッチ回路L0が反転する(t11)。その後、遅延時間ユニットT0の遅延時間が経過すると、制御信号RAST<0>が活性化され、かつ、ラッチ回路L1のラッチ状態が反転する(t12)。さらに、遅延時間ユニットT1の遅延時間が経過すると、制御信号RAST<1>が活性化され、かつ、ラッチ回路L2のラッチ状態が反転する(t13)。カスケードステートマシンCSM<1>がこのような動作を繰り返し、t1(n+1)において、ラッチ回路LnがノードTn<1>を立ち上げると、trst1において、論理ゲートGnがリセット信号RESETn<1>を論理ロウに活性化させる。リセット信号RESETn<1>が論理ロウに活性化されることによって、カスケードステートマシンCSM<1>内の全ラッチ回路L0〜Lnが初期状態にリセットされる。
【0059】
ここで、カスケードステートマシンCSM<0>およびCSM<1>に入力された連続する2つのアドレスストローブ信号ASTの時間間隔はΔTsである。また、カスケードステートマシンCSM<0>の制御信号RAST<0>〜RAST<n>の活性化のタイミングとおよびカスケードステートマシンCSM<1>の制御信号RAST<0>〜RAST<n>の活性化のタイミングとの時間間隔も、ストローブの時間間隔と同じΔTsとなる。これは、カスケードステートマシンCSM<0>およびCSM<1>が、遅延時間ユニット列TDCを共有しているため、時間間隔ΔTsが一致するからである。他のカスケードステートマシンCSM<2>〜CSM<n>についても同様のことが言える。従って、複数のLMU選択アドレスLSAおよび複数のアドレスストローブ信号ASTが時間間隔ΔTsごとに連続して入力された場合に、本実施形態によるタイミングコントローラT/Cは、時間間隔ΔTsを維持した状態で、LMU選択アドレスLSAに対応する制御信号RAST<0>〜RAST<n>を連続して活性化させることができる。その結果、本実施形態によるMRAMは、アドレスストローブ信号ASTの時間間隔ΔTsに従って、ローカルメモリユニットLMU<0>〜LMU<7>を駆動させることができる。
【0060】
以上、データ読出し動作について説明したが、本実施形態は、データ書込み動作についても、同様のタイミングコントローラT/Cを用いてインターリーブ動作を実行することができる。この場合、例えば、図4に示す制御信号RAST<0>〜RAST<n>のいずれかの信号RAST<k>を用いてライトドライバWDを駆動する。次に、制御信号RAST<k+1>を用いて共通データバスDBを介して書込みデータをライトドライバWDへ転送する。その後、信号RAST<k+2>を用いてライトドライバWDからメモリセルMCへのデータ書込みを開始する。書込み動作は、制御信号RAST<n>の活性化によって終了させればよい。これにより、データ書込みにおけるインターリーブ動作においても、複数の書込みデータが共通データバスDBにおいてコリジョンすることを抑制できる。タイミングコントローラT/Cの構成および動作は、図4、図5、図7に示したものと同様であるので、その説明を省略する。
【0061】
データ読出しに用いられるタイミングコントローラT/Cとデータ書込みに用いられるタイミングコントローラT/Cとは、それぞれ別個に設けてもよいが、共通にしてもよい。タイミングコントローラT/Cを共通にすることによって、さらに、MRAMのチップサイズを小さくすることができる。
【0062】
尚、各遅延時間ユニットT0〜Tnの遅延時間は、インターリーブ動作における連続する複数のアドレスストローブ信号ASTの時間間隔ΔTs(ローカルメモリユニットLMUの動作サイクル)よりも短くする必要がある。逆に、複数のアドレスストローブ信号ASTの時間間隔ΔTsは、各遅延時間ユニットT0〜Tnの遅延時間よりも長くする必要があると言ってもよい。複数のアドレスストローブ信号ASTの時間間隔ΔTsがいずれかの遅延時間ユニットT0〜Tnの遅延時間以下の場合、複数のアドレスストローブ信号ASTが同一の遅延時間ユニットTkに取り込まれる可能性があるからである。また、各遅延時間ユニットT0〜Tnの遅延時間は、必ずしも等しい値に設定する必要はなく、ΔTs以内であれば、異なっていても構わない。
【0063】
(第2の実施形態)
図8は、第2の実施形態に従った共通データバスDB、ローカルメモリユニットLMU<0>〜LMU<7>およびタイミングコントローラT/Cの関係を示すブロック図である。第2の実施形態は、リードバッファRBの出力部にSRAMが接続されている点で第1の実施形態と異なる。SRAMは、インターリーブ動作可能なように、タイミングコントローラT/Cの制御を受ける。第2の実施形態のその他の構成は、第1の実施形態の対応する構成と同様でよい。
【0064】
SRAMは、キャッシュメモリとして用いられ、読出し動作において以前にアクセスされたアドレスのデータをそのアドレスとともに保持する。そして、同一アドレスのメモリにアクセスがあった場合に、SRAMは、保持しているデータを出力する。これにより、本実施形態によるMRAMは、読出し時に同一アドレスのメモリに複数のアクセスがあった場合に、メモリセルMCに対して再度アクセスすることなく、迅速に読出しデータを出力することができる。
【0065】
上記第1および第2の実施形態においては、アドレスストローブ信号ASTからRC遅延を利用してアナログ的に遅延時間を生成している。これに対し、外部クロックをカウンタで計数し、遅延時間を計る方法も考えられる。カウンタを使用するというデジタル的な手法であれば、仮にローカルメモリユニットLMU毎にタイミングコントローラを配置するような手法をとったとしても遅延時間のばらつきは存在せず読出しデータまたは書込みデータは、共通データバスDBにおいて衝突しない。しかし、この場合、当然のことながら、各制御信号のタイミングは、外部クロックの周波数に依存することになる。通常、半導体記憶装置の動作周波数のもととなる外部クロックの周波数は、その上限値(即ち、最高周波数)だけ規定されており、半導体記憶装置は、その上限値より低い周波数であればゆっくり動作をさせてもよい場合が多い。このような場合、外部クロックの周波数が低いと、各制御信号のタイミングは遅くなり、制御信号間の間隔も長くなる。特に、スピン注入書き込み方式MTJ素子を備えたMRAMは、データ読出し時にセンスアンプSAの活性化時間(セル電流をMTJ素子に流す時間)が増大すると、MTJ素子のデータの論理を反転させてしまうおそれがある(リードディスターブ)。従って、外部クロックを用いて遅延時間を生成する方式は好ましくない。
【0066】
したがって、上記実施形態は、外部クロックをカウントして遅延時間を生成する方法を用いず、アドレスストローブ信号ASTからRC遅延を利用して遅延時間を生成している。ゆえに、遅延時間は、外部クロックの周波数に依存することなく、一定に維持することができる。その結果、本実施形態は、リードディスターブを抑制することができる。
【0067】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【0068】
MCA・・・メモリセルアレイ、SA・・・センスアンプ、WD・・・ライトドライバ、MRD・・・メインロウデコーダ、LRD・・・ローカルロウデコーダ、RB・・・リードバッファ、CD・・・カラムデコーダ、T/C・・・タイミングコントローラ、CSD・・・制御信号ドライバ、DB・・・共通データバス、CSL・・・カラム選択線、LMU<0>〜LMU<7>・・・ローカルメモリユニット、TDC・・・遅延時間ユニット列、T0〜Tn・・・遅延時間ユニット、CSM<0>〜CSM<7>・・・カスケードステートマシン、L0〜Ln・・・ラッチ回路、AD<0>〜AD<7>・・・アドレスデコーダ、G<0>〜G<7>・・・論理ゲート、Te・・・遅延素子、Tp・・・パルス幅決定遅延素子

【特許請求の範囲】
【請求項1】
複数のメモリセルを含む複数のメモリユニットと、
前記複数のメモリユニットに共有され、前記複数のメモリユニットからデータを転送し、あるいは、該複数のメモリユニットへデータを転送するデータバスと、
前記データバスを共有する前記複数のメモリユニットに対して共通に設けられた遅延時間ユニットを含み、入力信号を受け取ってから所定の遅延時間後に前記複数のメモリユニットを駆動させる制御信号を出力するタイミングコントローラとを備えた半導体記憶装置。
【請求項2】
前記タイミングコントローラは、前記データバスへデータを重複することなく連続して送信し、あるいは、前記データバスからデータを重複することなく連続して受け取る前記複数のメモリユニットに対して共通に設けられていることを特徴とする請求項1に記載の半導体記憶装置。
【請求項3】
前記タイミングコントローラは、
直列に接続された複数の前記遅延時間ユニットで形成された遅延時間ユニット列と、
複数の前記遅延時間ユニットのそれぞれに対応して設けられ、対応する前記遅延時間ユニットが入力信号を伝達したことを示す複数のステータスラッチ部とを含むことを特徴とする請求項1または請求項2に記載の半導体記憶装置。
【請求項4】
前記複数のステータスラッチ部は、前記遅延時間ユニット列を共有していることを特徴とする請求項3に記載の半導体記憶装置。
【請求項5】
前記複数ステータスラッチ部のそれぞれから出力された複数の制御信号は、選択された前記メモリユニットを動作させるために用いられることを特徴とする請求項3または請求項4に記載の半導体記憶装置。
【請求項6】
前記遅延時間ユニットは、入力信号をラッチするラッチ回路と、前記ラッチ回路にラッチされた信号を所定の遅延時間の経過後に出力する遅延素子と、前記ラッチ回路の出力および前記遅延素子の出力を両方が活性化されたときに出力を活性化させる論理ゲートとを備えたことを特徴とする請求項1から請求項5のいずれかに記載の半導体記憶装置。
【請求項7】
前記遅延素子と前記ラッチ回路との間に接続され、前記論理ゲートから出力される信号のパルス幅を決定するパルス幅決定遅延素子をさらに備えたことを特徴とする請求項6に記載の半導体記憶装置。
【請求項8】
前記データバスの出力部に接続され、前記複数のメモリユニットから読み出したデータを記憶するキャッシュメモリをさらに備えたことを特徴とする請求項1から請求項7のいずれかに記載の半導体記憶装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2013−97843(P2013−97843A)
【公開日】平成25年5月20日(2013.5.20)
【国際特許分類】
【出願番号】特願2011−241203(P2011−241203)
【出願日】平成23年11月2日(2011.11.2)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】