(57)【要約】【課題】エラー検出訂正回路を搭載してデータの信頼性を確保しながら、高速データ転送を実現したメモリ装置を提供する。【解決手段】メモリセルアレイと、読み出しデータのエラー検出と訂正を行なうエラー検出訂正回路と、読み出しデータ及び書き込みデータを一時格納するために設けられた、データビット数が前記エラー検出訂正回路によるエラー検出訂正処理の際のチェックビットを含めたデータビット数の整数倍に設定されたバッファレジスタとを備える。バッファレジスタに外部から格納された書き込みデータは、エンコードされてバッファレジスタにチェックビットと共に上書きされた後、メモリセルアレイに転送書き込みされる。メモリセルアレイから読み出されたデータはチェックビットと共にバッファレジスタに格納され、その後デコードされて正しい読み出しデータとしてバッファレジスタに上書きされた後、外部に出力される。【選択図】図１１
2010146654.tif 000002
【特許請求の範囲】
【請求項１】
メモリセルアレイと、
前記メモリセルアレイの読み出しデータのエラー検出と訂正を行なうエラー検出訂正回路と、
前記メモリセルアレイの読み出しデータ及び書き込みデータを一時格納するために設けられた、データビット数が前記エラー検出訂正回路によるエラー検出訂正処理の際のチェックビットを含めたデータビット数の整数倍に設定されたバッファレジスタとを備え、
前記バッファレジスタに外部から格納された書き込みデータは、前記エラー検出訂正回路を通してエンコードされて前記バッファレジスタにチェックビットと共に上書きされた後、前記メモリセルアレイに転送書き込みされ、
前記メモリセルアレイから読み出されたデータはチェックビットと共に前記バッファレジスタに格納され、その後前記エラー検出訂正回路を通してデコードされて正しい読み出しデータとして前記バッファレジスタに上書きされた後、外部に出力される
ことを特徴とするメモリ装置。
【請求項２】
外部からの書き込みデータの前記バッファレジスタへの転送及び、前記バッファレジスタの読み出しデータの外部への転送は、クロック同期によるバースト転送により行なわれる
ことを特徴とする請求項１記載のメモリ装置。
【請求項３】
前記バッファレジスタに外部から書き込みデータを格納するに先立って、その書き込み先アドレスの前記メモリセルアレイの読み出しデータを前記バッファレジスタに格納する動作が行なわれる
ことを特徴とする請求項１記載のメモリ装置。
【請求項４】
前記エラー検出訂正回路によりデコードされた正しい読み出しデータを前記バッファレジスタに格納し、この読み出しデータを前記エラー検出訂正回路を介さずに前記メモリセルアレイに再書き込み転送するリフレッシュモードを有する
ことを特徴とする請求項１記載のメモリ装置。
【請求項５】
メモリセルアレイと、
前記メモリセルアレイの読み出しデータのエラー検出と訂正を行なうエラー検出訂正回路と、
前記メモリセルアレイの読み出しデータ及び書き込みデータを一時格納するために設けられた、それぞれデータビット数が前記エラー検出訂正回路によるエラー検出訂正処理の際のチェックビットを含めたデータビット数の整数倍に設定された２系統のバッファレジスタとを備え、
前記２系統のバッファレジスタの一方による外部との間の読み出し或いは書き込みデータのバースト転送と、前記２系統のバッファレジスタの他方による前記メモリセルアレイとの間の前記エラー検出訂正回路を介した読み出し或いは書き込みの内部データ転送とが交互に行なわれる
ことを特徴とするメモリ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、エラー検出訂正回路を搭載したメモリ装置に関する。
【背景技術】
【０００２】
抵抗変化メモリ（Ｒｅｓｉｓｔａｎｃｅ  Ｃｈａｎｇｅ ＲＡＭ：ＲｅＲＡＭ）などの大容量メモリでは、データ保持中などに様々な原因で記憶内容が壊れる。特にデータの保持状態として使用する物理的機構が外乱の影響を受け易い場合であって、今後メモリ容量の大規模化と製造プロセスの微細化が進むとエラー率は上昇する。このためメモリにオンチップでエラー検出訂正回路を搭載することは重要な技術となる。
【０００３】
ガロア有限体ＧＦ（２ｎ）を利用する、ＢＣＨコードを用いたＥＣＣシステム（ＢＣＨ−ＥＣＣシステム）で２ビット以上のエラー訂正を行う場合、エラー位置探索方程式の解を求めるのに、有限体の要素を逐次代入する方法を利用すると、演算時間は膨大となり、オンチップとした場合にもメモリの読み出しや書き込み性能を大幅に低下させる。従って、そのような逐次探索によらず、メモリの性能を犠牲にしないようなＥＣＣ回路が望まれる。
【０００４】
特にＲｅＲＡＭは、微細化に向いていると同時にクロスポイントセルを構成できる上に積層化が容易であり、ＮＡＮＤ型フラッシュメモリの後継候補として、大容量ファイルメモリの用途が有望視されている。しかし、ＲｅＲＡＭのメモリセルとして利用する抵抗変化物質は一度強い電圧をかけないと安定した抵抗変化を示さないので、信頼性を保ちながらデータの高速な転送を実現するには工夫が必要である。
【０００５】
メモリチップ内に、或いはこれを制御するメモリコントローラ内にＥＣＣ回路を搭載する技術は、例えば、特許文献１に示されている。
【０００６】
ＥＣＣ回路を搭載したメモリにおいて、データの信頼性向上のために、データビット及びＥＣＣの検査ビットのリフレッシュを行う技術は、例えば特許文献２に示されている。
【特許文献１】特開２０００−１７３２８９号公報
【特許文献２】特開２００６−５２７４４７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
この発明は、エラー検出訂正回路を搭載してデータの信頼性を確保しながら、高速データ転送を実現したメモリ装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
この発明の一態様によるメモリ装置は、
メモリセルアレイと、
前記メモリセルアレイの読み出しデータのエラー検出と訂正を行なうエラー検出訂正回路と、
前記メモリセルアレイの読み出しデータ及び書き込みデータを一時格納するために設けられた、データビット数が前記エラー検出訂正回路によるエラー検出訂正処理の際のチェックビットを含めたデータビット数の整数倍に設定されたバッファレジスタとを備え、
前記バッファレジスタに外部から格納された書き込みデータは、前記エラー検出訂正回路を通してエンコードされて前記バッファレジスタにチェックビットと共に上書きされた後、前記メモリセルアレイに転送書き込みされ、
前記メモリセルアレイから読み出されたデータはチェックビットと共に前記バッファレジスタに格納され、その後前記エラー検出訂正回路を通してデコードされて正しい読み出しデータとして前記バッファレジスタに上書きされた後、外部に出力される
ことを特徴とする。
【０００９】
この発明の他の態様によるメモリ装置は、
メモリセルアレイと、
前記メモリセルアレイの読み出しデータのエラー検出と訂正を行なうエラー検出訂正回路と、
前記メモリセルアレイの読み出しデータ及び書き込みデータを一時格納するために設けられた、それぞれデータビット数が前記エラー検出訂正回路によるエラー検出訂正処理の際のチェックビットを含めたデータビット数の整数倍に設定された２系統のバッファレジスタとを備え、
前記２系統のバッファレジスタの一方による外部との間の読み出し或いは書き込みデータのバースト転送と、前記２系統のバッファレジスタの他方による前記メモリセルアレイとの間の前記エラー検出訂正回路を介した読み出し或いは書き込みの内部データ転送とが交互に行なわれる
ことを特徴とする。
【発明の効果】
【００１０】
この発明によれば、エラー検出訂正回路を搭載してデータの信頼性を確保しながら、高速データ転送を実現したメモリ装置を提供することができる。
【発明を実施するための最良の形態】
【００１１】
以下の実施形態では、メモリセルの抵抗変化物質がデータ記憶のエラーを生じても信頼性を確保しつつ高速なデータ転送が可能なメモリシステムの構成を示すとともに、高速データ転送のタイミングとシークエンスを規定し、大容量の高速ファイルメモリを実現できることを示す。
【００１２】
実施の形態の技術的要素をまとめると、次のようになる。
【００１３】
・メモリシステムは、クロックに同期してデータの読み書きを行うバッファレジスタと、データのエラー検出訂正を行うＥＣＣ回路とを備え、バッファレジスタのデータビット数は、ＥＣＣ回路がメモリセルアレイからの並列読み出しデータに対してエラー検出訂正処理を行なう際のチェックビットを含めたデータビット数の整数倍に設定される。
【００１４】
・データ読み出しに際しては、セルアレイからの読み出しデータをＥＣＣ回路を通してデコードして、エラー訂正されたデータとしてバッファレジスタに保持し、これをバースト転送して出力する。
【００１５】
・データ書き込みに際しては、外部からの書き込みデータをバッファレジスタにバースト転送して保持した後、そのデータをＥＣＣ回路を通してエンコードして、エラー訂正可能なコードデータとしてバッファレジスタに上書きし、これをセルアレイに転送書き込みする。
【００１６】
・バッファレジスタは、メモリセルアレイとのＥＣＣ回路を介してのデータ転送である“内部データ転送”と、外部端子との間の読み書きデータの転送である“外部データ転送”とを交互に繰り返し、読み出し書き込みに関係なく、外部データ転送前には内部データ転送によってバッファレジスタにデータを予め保持する動作が行われる。
【００１７】
・２系統のバッファレジスタを備えて、外部データ転送であるバースト転送のインターリーブ動作を行い、一方がバースト転送による外部データ転送を行なっている間、他方が内部データ転送状態にある、という動作を行なう。
【００１８】
・メモリセルアレイデータをＥＣＣ回路を介してエラー訂正してバッファレジスタに読み出し、その保持データをＥＣＣ回路を介さずにメモリセルアレイに再書き込み転送することでセルアレイデータをリフレッシュする、ＥＣＣリフレッシュモードを備える。
【００１９】
・バッファレジスタからの外部データ転送であるバースト転送が中断されたとき、内部データ転送の状態を表す信号に基づいて新たなデータ転送動作を開始するデータ転送制御を行う。
【００２０】
・内部データ転送の回数に基づいて、ＥＣＣリフレッシュを行う。
【００２１】
・メモリセルアレイは、例えば抵抗変化型メモリセルを用いてセルアレイマットが複数層積層された三次元セルアレイとして構成される。バッファレジスタを介して外部とのデータ転送は、一連のクロックバーストで行い、少なくとも、コマンドまたはアドレスの入力開始サイクルを指示する信号、動作モードを指定する一連の信号、バーストデータとその先頭アドレスを指定する一連の信号、層のアドレスを指定する一連の信号のためのインターフェースを有する。
【００２２】
以下、図面を参照して、この発明の実施の形態を説明する。
【００２３】
図１は、メモリセルが三次元的に配列された３Ｄセルアレイブロック１と、その下地半導体基板に形成される制御回路２の構成を示している。３Ｄセルアレイブロック１の選択信号線であるワード線ＷＬとビット線ＢＬは、セルアレイブロックの４辺に設けられた垂直配線領域で、下地制御回路２に接続されている。
【００２４】
実際のファイルメモリを構成するには、このようなセルアレイブロック１を更にマトリクス配列して構成されるが、その詳細は後述する。
【００２５】
セルアレイブロック１の単位層（即ちマット）を等価回路で示すと、図２のようになり、ワード線ＷＬとビット線ＢＬの各クロスポイントに抵抗変化型メモリセルＭＣを配置して構成される。メモリセルＭＣは、ダイオードＤｉと可変抵抗素子ＶＲの直列接続により構成され、ここではダイオードＤｉのアノード側信号線をビット線ＢＬ、カソード側信号線をワード線ＷＬと定義している。
【００２６】
制御回路２は、ビット線両端に対応してビット線デコーダ／マルチプレクサ回路２１ａ，２１ｂを有する。即ちセルアレイブロック１の両端で基板に下ろされたビット線は、これらのビット線デコーダ／マルチプレクサ２１ａ，２１ｂで外部からのアドレス信号とコマンドに従って選択されて電位設定され、バス２２ａ，２２ｂを経てセンスアンプ回路２３に入力される。
【００２７】
読み出し時は、後に説明するように、電流センス方式のセンスアンプがセル電流と参照電流の比較によりデータをセンスする。書き込み時はセンスアンプ回路２３及びデコーダ／マルチプレクサ回路２１ａ，２１ｂが選択セルに適切な書き込み電圧や電流を供給する。
【００２８】
制御回路２のワード線方向両端部には、ワード線デコーダ／ドライバ２４ａ，２４ｂがある。即ちセルアレイブロック１の両端で基板に下ろされたワード線は、これらのワード線デコーダ／ドライバ２４ａ，２４ｂに入り、外部アドレスやコマンドに従ってワード線レベルが選択的に設定される。
【００２９】
外部とのデータやり取りを行うバス領域２２ａ，２２ｂは、この例ではビット線デコーダ／マルチプレクサ回路２１ａ，２１ｂとセルアレイブロック１との間に設けた隙間に設定している。従ってビット線は、ビット線デコーダ／マルチプレクサ回路２１ａ，２１ｂからセルアレイブロック１に到達すまでの間にバス領域２２ａ，２２ｂの上空を通過していくことになる。
【００３０】
ビット線信号はこのバス領域２２ａ，２２ｂを経てセルアレイ直下の基板上に設けられたセンスアンプ回路２３に送られ、ここでセンス増幅または書込みではデータに従った書き込み電圧や電流に変換される。センスアンプ回路２３は、バス領域２２ａ，２２ｂを経てセルアレイブロック外部とのデータのやり取りを行なう。
【００３１】
図３は、マット内のワード線及びビット線との関係でセンス系回路の詳細構成を示している。
【００３２】
参照セルＲＭＣは、マット中の特定ビット線を参照ビット線ＲＢＬとして固定して、これに接続されたものを利用する。図では、情報セルＭＣのビット線ＢＬを一つ示しているが、実際には複数のビット線に対して対を成して一つの参照ビット線ＢＬが選択される。いずれも同一のマット内にありセンス系はマットで閉じている。
【００３３】
参照ビット線ＲＢＬに接続されるセル即ち参照セルＲＭＣは、全て低抵抗のセット状態に設定されているが、これはフォーミングされた後のセル状態であり、参照ビット線ＲＢＬとして選ばれた後、これにはセット状態以外の設定は行なわない。すなわち情報セルＭＣに書き込みが生じたときは情報ビット線ＢＬと参照ビット線ＲＢＬに共通のワード線ＷＬが選択されるので、参照ビット線ＲＢＬにはセット状態の書き込みを同時に行なう。
【００３４】
即ち参照ビット線ＲＢＬの参照セルＲＭＣには、書き込み時常にセット状態書き込みを行うものとして、セット状態のリフレッシュを行う。この動作によって参照セルＲＭＣを常に安定したセット状態として、ビット線ＢＬのセルデータの読み出しの際の参照レベルを確保することができる。
【００３５】
以下では、メモリセルの低抵抗のセット状態をデータ“１”、高抵抗のリセット状態をデータ“０”という。
【００３６】
ビット線ＢＬに流れる情報セルＭＣのセル電流と参照ビット線ＲＢＬに流れる参照セルＲＭＣの参照電流が、ローカルバスＬＢ，ＲＬＢを介してセンスアンプ（ＳＡ）３１の二つの入力ＩＮ，／ＩＮに入る。後に説明するように、実際の参照電流は、カレントミラー回路によりその電流量を１０分の1程度に落とされてセンスアンプ入力となる。
【００３７】
図３の具体的な回路動作を説明すれば、ワード線ＷＬは、選択されると、ロウデコードからのデコード信号で駆動されるワード線スイッチトランジスタＭＮ１がオンして、Ｖｓｓに接続される。ビット線ＢＬと参照ビット線ＲＢＬは、選択されるとそれぞれカラムデコーダ、参照カラムデコーダの出力により制御されるビット線スイッチトランジスタＭＮ２とＭＮ３がオンしてそれぞれ、ローカルデータバスＬＢとＲＬＢに接続される。これらのローカルバスＬＢ，ＲＬＢがセンスアンプＳＡの入力ＩＮ，／ＩＮに接続される。
【００３８】
ワード線選択トランジスタＭＮ１は、デコーダからの信号のＬレベルで選択され、そのオン抵抗はゲートに与えられるレベルＶｍによって制御される。フォーミング、“１”書き込み、“０”書き込み及び読み出しに応じてこの電圧Ｖｍのレベルを変える。
【００３９】
ビット線ＢＬの選択トランジスタＭＮ２はデコーダからの信号がＬレベルで選択され、そのオン抵抗はゲートに与えられるレベルＶｇによって制御される。フォーミング、“１”書き込み、“０”及び読み出しに応じて、この電圧Ｖｇのレベルを変える。
【００４０】
参照ビット線ＲＢＬの選択トランジスタＭＮ３は、書き込み時には Ｖｄｄ＋Ｖｔより高いゲートレベルで、読み出し時にはＶｒｅａｄなるゲートレベルで選択される。Ｖｔは、しきい値電圧である。
【００４１】
以上の選択トランジスタの制御電圧Ｖｇ，Ｖｍのレベル発生回路として、書込み制御回路３２が設けられる。その詳細は後述する。
【００４２】
ローカルバスＬＢ，ＲＬＢに接続されたＰＭＯＳトランジスタＭＰ１，ＭＰ２は、書き込み時に信号/Write＝“Ｌ”により制御されて、ローカルバスＬＢ，ＲＬＢを電源レベルＶｄｄに設定する。
【００４３】
図４は、センスアンプ（ＳＡ）３１の構成例であり、１００ｎＡ以下の微小セル電流の比較を高速に行なう電流比較型センスアンプである。このセンスアンプの基本構成は、すでに特許提案され公開されている（特願２００４−０９３３８７）。
【００４４】
センスアンプ３１は、ＶｄｄとＶｓｓの間に、ＰＭＯＳトランジスタＭ０，Ｍ８、ＮＭＯＳトランジスタＭ１０、ＰＭＯＳトランジスタＭ２及びＮＭＯＳトランジスタＭ４が直列接続された第１の電流パス４１と、ＰＭＯＳトランジスタＭ１，Ｍ９、ＮＭＯＳトランジスタＭ１１、ＰＭＯＳトランジスタＭ３及びＮＭＯＳトランジスタＭ５が直列接続された第２の電流パス４２とが対称的に形成されている。
【００４５】
ＰＭＯＳトランジスタＭ２，Ｍ３のソースがそれぞれ、入力ノードＩＮ，／ＩＮに接続されるが、但しこれらの間にはカレントミラー回路４３，４４を介在させている。参照ビット線ＲＢＬ側の入力ノード／ＩＮ側に設けられたカレントミラー４４は、寸法比が１：１０に設定されたＰＭＯＳトランジスタＭ１５とＭ１６により構成され、参照セルＲＭＣに流れる電流の１／１０が“参照電流”として実際にセンスアンプに流れるようになっている。
【００４６】
入力ノードＩＮ側のカレントミラー４３は、入力ノード／ＩＮ側との対称性を確保するためのダミーであって、ＮＭＯＳトランジスタＭ１３，Ｍ１４の寸法比は１０：１０である。即ち入力ノードＩＮに流れる選択セルＭＣのセル電流がそのままセンスアンプに供給される。
【００４７】
これらのカレントミラー４３，４４は、活性化信号／ａｃｃＲＥＡＤにより活性化されるＰＭＯＳトランジスタＭ１４，Ｍ１７を介して電源Ｖｄｄに接続される。
【００４８】
第１の電流パス４１のＰＭＯＳトランジスタＭ２とＮＭＯＳトランジスタＭ４の接続ノードが一方の出力ノードＯＵＴとなり、第２の電流パス４２のＰＭＯＳトランジスタＭ３とＮＭＯＳトランジスタＭ５の接続ノードが他方の出力ノード／ＯＵＴとなる。
【００４９】
第１の電流パス４１のＰＭＯＳトランジスタＭ０，Ｍ２及びＮＭＯＳトランジスタＭ４のゲートは一方の出力ノード／ＯＵＴに共通接続され、第２の電流パス４２のＰＭＯＳトランジスタＭ１，Ｍ３及びＮＭＯＳトランジスタＭ５のゲートは他方の出力ノードＯＵＴに共通接続されて、ＣＭＯＳラッチを構成している。即ち第１の電流パス４１を構成するＣＭＯＳインバータと、第２の電流パス４２を構成するＣＭＯＳインバータとが、入出力が交差接続されてラッチを構成する。
【００５０】
ＰＭＯＳトランジスタＭ８，Ｍ９は活性化トランジスタであり、活性化信号／ＡＣＴによりゲートが制御される。ＮＭＯＳトランジスタＭ１０，Ｍ１１は、電流パス４１，４２の電流制御用素子であり、信号ｖＬＴＣによりゲートが制御されて、センスアンプ電流が決まる。
【００５１】
ＣＭＯＳラッチを構成するＮＭＯＳトランジスタＭ４及びＭ５のゲートはそれぞれ、センス信号／ＳＥにより駆動されるＮＭＯＳトランジスタＭ６及びＭ７のドレインに接続されている。これらのＮＭＯＳトランジスタＭ６，Ｍ７は、／ＳＥ＝“Ｈ”の間オンして、ＣＭＯＳラッチのＮＭＯＳトランジスタＭ４，Ｍ５をオフに保つ。
【００５２】
即ち活性化信号／ＡＣＴ＝“Ｌ”により電流パス４１，４２に流れる電流は、／ＳＥが“Ｌ”になるまでは、それぞれＮＭＯＳトランジスタＭ７，Ｍ６を介してＶｓｓに流れる。そしてセル電流が導入された後、／ＳＥ＝“Ｌ”のセンス時、ＮＭＯＳトランジスタＭ６，Ｍ７がオフになってパス電流を遮断し、それらのドレイン電圧差がＣＭＯＳラッチにより正帰還増幅されることになる。
【００５３】
図５を用いてこの実施の形態のセンスアンプＳＡの動作を説明する。センス信号／ＳＥが“Ｈ”の状態では、ＮＭＯＳトランジスタＭ６，Ｍ７がオンであり、出力ノードＯＵＴ，／ＯＵＴは“Ｌ”レベルに保たれる。活性化信号／ＡＣＴが“Ｌ”になると、電流パス４１，４２に電流が流れる。そしてセル電流取り込み信号／ａｃｃＲＥＡＤが“Ｌ”になり、入力ノードＩＮ，／ＩＮに接続されたビット線及び参照ビット線に電流注入が開始されると、セル電流と参照電流（参照セル電流の１／１０）の差（以下これをセル電流差という）に応じてＮＭＯＳトランジスタＭ６，Ｍ７のドレインに微小な電圧差が生じる。
【００５４】
セル電流差が反映される適当な時間ΔＴの経過後、センス信号／ＳＥが“Ｌ”になると、ＮＭＯＳトランジスタＭ６，Ｍ７がオフになり、そのドレイン電圧差を増幅するラッチ回路の正帰還動作により、ＮＭＯＳトランジスタＭ４，Ｍ５の一方がオン、他方がオフになる。即ち、ＮＭＯＳトランジスタＭ６，Ｍ７がオンからオフに遷移する際に、セル電流差に基づくタイミングのずれがそれらのドレイン電圧に変換され、これが正帰還増幅される。
【００５５】
トランジスタペアＭ１０，Ｍ１１は、センス初期にはゲート信号ｖＬＴＣを低いレベルＶＲＲに設定してコンダクタンスを抑えて、電源Ｖｄｄからのセンスアンプ電流を絞り、ペアＭ１２，Ｍ１３を介して供給されるセル電流差をセンスアンプの状態により強く反映するようにしている。センスアンプの初期センスによってセンスアンプのバランスがセルデータ電流差によって崩れて確定したら、そのゲート信号ｖＬＴＣをＶＲＲからＶｄｄより高いＶＰＰにして、センスアンプに電源電圧を供給して出力をＶｄｄまでフルスイングさせる。このとき信号／ａｃｃＲＥＡＤは立ち上げてセル電流のセンスアンプへの供給を遮断する。
【００５６】
微細化されたペアトランジスタのバラツキは製造工程の揺らぎによって生じるので、図４に示すように電流パス４１，４２は、多くの素子の直列接続とした方がバラツキが相殺されるので好ましい。そこで、Ｍ０−Ｍ１ペア、Ｍ８−Ｍ９ペア、Ｍ１０−Ｍ１１によって入力ノードと電源Ｖｄｄの間を構成している。
【００５７】
特に、ＮチャネルトランジスタペアＭ１０−Ｍ１１はセンスアンプＳＡの動作のフィードバックループをなすＰチャネルトランジスタペアＭ０−Ｍ１とペアＭ８−Ｍ９のバラツキの影響を抑える。すなわちＮチャネルトランジスタのコンダクタンスを抑えて、より電源Ｖｄｄに近い側にあるＰチャネルトランジスタのドレインやソースの電位を上げて、Ｐチャネルトランジスタのコンダクタンスを上げている。即ち、ＰチャネルとＮチャネルのコンダクタンスがそれぞれのバラツキの影響を抑える方向に作用する。
【００５８】
信号／ａｃｃＲＥＡＤの立ち下げとセンス動作開始信号／ＳＥの立ち下げの時間差ΔＴは、／ａｃｃＲＥＡＤ立ち下げ後のセル電流の注入が終わり、セル電流を十分反映するような入力電流になるまで待ってセンスが開始されるよう、調整を行うことになる。
【００５９】
図６は、書き込み制御回路３２の構成である。回路に供給される電源は、セルのセット電圧Ｖｓｅｔを発生させるに十分な電源電圧Ｖｄｄ、これより高い昇圧電源電圧Ｖｐｐ、Ｖｄｄより低いＶg_reset，Ｖread，Ｖt+ε及びＶｓｓである。その大小関係は、Ｖｓｓ＜Ｖt+ε＜Ｖread＜Ｖg_reset＜Ｖｄｄ＜Ｖｐｐである。
【００６０】
書き込み制御回路３２に供給される信号は／Ｗｒｉｔｅとセルに書き込む情報データｄａｔａであり、出力はＶｇとＶｍなる電源レベルである。この回路はメモリの動作モードによってデータｄａｔａからそれぞれに必要な電源レベルを発生させる回路であり、データにより状態遷移するＰＭＯＳフリップフロップＦＦを有する。フリップフロップＦＦにより制御されるＰＭＯＳトランジスタＭＰ２１及びＭＰ２２は、それぞれセット時及びリセット時の電源電圧Ｖｐｐ及びＶg_resetを出力するもので、それらの出力はＰＭＯＳトランジスタＭＰ２３を介してＶｇノードに出力される。
【００６１】
制御信号Ｖｍ側には、リセット時及びセット時にそれぞれＶｄｄ及びＶt+εを出力するドライバＤＲＶ１１と、その出力を転送するＰＭＯＳトランジスタＭＰ２４が配置されている。
【００６２】
ＰＭＯＳトランジスタＭＰ２３，ＭＰ２４は、書き込み時（セット又はリセット時）には信号／Ｗｒｉｔｅ＝“Ｌ”により制御されてオンになる。読み出し時は、信号／Ｗｒｉｔｅ＝“Ｈ”によりＮＭＯＳトランジスタＭＮ２１，ＭＮ２２がオンになって、Ｖｇ，Ｖｍノードに読み出し用電圧Ｖｒｅａｄが与えられる。
【００６３】
図７には、リセット時（“０”書き込み時）、セット時（“１”書き込み時）及び読み出し時の制御信号Ｖｍ，Ｖｇのレベルを表にまとめて示した。なおセルのフォーミングはモードとしてはセット（Ｓｅｔ）と同じでＶｍはＶt+ε、ＶｇはＶｐｐを与える。
【００６４】
図８は、制御回路２におけるセンスアンプとデータバスの関係を示している。セルアレイブロック１を構成する単位層即ちマットの大きさは、４ｋ本のワード線ＷＬと１ｋ本のビット線ＢＬによって構成される４［Ｍｂ］のセルマトリクスであり、これが最小のセルのまとまりの単位となる。またセンスアンプ回路２３の領域には、４つのセンスアンプＳＡ１−ＳＡ４が設けられ、それらの二つずつにマットのビット線両端部からビット線デコーダ／マルチプレクサ回路２１ａ，２１ｂをとおしてビット線が接続される。即ち、１本のワード線ＷＬがワード線ドライバ２４ａ又は２４ｂにより選択されると、両辺から２本ずつのビット線ＢＬが選択され、４つのセルがアクセスされることになる。
【００６５】
バス２２ａ，２２ｂにワード線ＷＬやビット線ＢＬを選択するアドレス信号線とビット線ＢＬから選択接続されたデータ線などが走るが、ビット線デコーダ／マルチプレクサ回路２１ａ，２１ｂとワード線ドライバ２４ａ，２４ｂの交差部領域には、ワード線ドライバを選択駆動するプリデコーダ２５ａ−２５ｄが配置される。
【００６６】
メモリセルアレイ全体は、図１に示したセルアレイブロック１を更に複数個二次元に配列して構成される。このメモリチップの全セルアレイを表示する便宜上、以下には、４［Ｍｂ］のセルアレイブロックを４個まとめた１６［Ｍｂ］ブロック表示、更にこれを４個と１／４をまとめた６８［Ｍｂ］セルアレイユニット表示を導入する。
【００６７】
図９は、４つの４［Ｍｂ］セルアレイブロックｂ０−ｂ３をまとめた一つの１６［Ｍｂ］セルアレイブロックＢを示している。このとき、各セルアレイブロックのビット線デコーダ／マルチプレクサ回路を貫通して走るバスは上下それぞれ３４ビットである。
【００６８】
更に、図１０に示すように、それぞれが４つの４［Ｍｂ］セルアレイブロックｂのまとまりである４つの１６［Ｍｂ］セルアレイブロックＢ（Ｂ０〜Ｂ３）と、一つの４［Ｍｂ］セルアレイブロックｂをデータバス方向に並べて、単位マットあたり６８［Ｍｂ］のセルアレイユニットＣＡを構成する。
【００６９】
セルアレイユニットＣＡは１７個の４［Ｍｂ］セルアレイブロックｂにより構成され、各セルアレイブロックから片側２ビットのデータが出るので３４ビットのバスが上下に走ることになる。セルアレイユニットＣＡの一端にはさらに、１３６ビットまたは６８ビットのバスが走り、このバスにバスゲートを介して各セルアレイブロックからのバスが選択的に接続される。
【００７０】
図１１は、上述のセルアレイユニット表示を用いて構成される、単位マット当たり８［Ｇｂ］＋８３２［Ｍｂ］のメモリコア１００を持つメモリチップ構成例である。この構成例は、１６ビットデータを並列に読み出し書込みする×１６ＩＯタイプの場合である。ここでは、メモリチップが４ビットまでのエラー訂正が可能なＥＣＣ回路１１２を搭載していることを前提としている。
【００７１】
このＥＣＣ回路１１２は、有限体ＧＦ（２１０）を用いたＢＣＨ−ＥＣＣであり、データビット数５５２（情報ビット数５１２＋チェックビット数４０）であって、上述のメモリ容量成分８３２［Ｍｂ］は、チェックビット用分の各マット容量を意味している。ＥＣＣ回路１１２の詳細については後に説明する。
【００７２】
図１１に示すように、メモリコア１００は、６８［Ｍｂ］構成のマットから構成されるセルアレイユニットをＸ方向に８個、Ｙ方向に１６個配列して構成される。但し、ＥＣＣ回路１１２との関係で読み書きデータ数を合わせるべく、Ｘ方向両端のセルアレイユニットに対して、４［Ｍｂ］セルアレイブロックを追加している。これにより、一層のマットで、６８［Ｍｂ］×１６×８＋４［Ｍｂ］×３２＝８［Ｇｂ］＋８３２［Ｍｂ］となり、マット積層数をｍとすると、８［Ｇｂ］×ｍ＋８３２［Ｍｂ］×ｍの容量となる。
【００７３】
この例では全体のメモリマットのうち１層が選択されその中で４分の１の分割動作を行う。即ち図の破線で囲ったセルアレイ領域が同時活性化されるものとし、メモリチップのなかがなるべく均等に活性化されるようにしている。
【００７４】
セルアレイとの間で一括で読み書きされるデータは、ＥＣＣ回路１１２の処理データビット数５１２＋４０の整数倍、具体的にこの例では、（５１２［ｂ］＋４０［ｂ］）×４＝２２０８［ｂ］である。これらのデータはセルアレイユニットからの１３６ビットバスとチップ両端の１４４ビットバスによって並列転送される。各ＩＯあたり１２８ビットのデータがチップ外部とやり取りされるがこのデータ転送単位を以下、バーストと呼ぶ。
【００７５】
バースト用のデータを一時保持するのがバッファレジスタ１１１であり、そのデータビット数は、ＥＣＣ回路の処理データビット数（チェックビットを含む）のＭ倍（Ｍは整数）であり、各ＩＯあたり１２８＋４０＝１６８ビットのバッファである。このバッファレジスタ１１１とＥＣＣ回路１１２との間で、Ｍ回の時分割でデータ転送されてエンコード（書き込み時）又はデコード（読み出し時）が行なわれ、そのコードデータがバッファレジスタ１１１に上書きされて、外部またはメモリセルアレイに転送される。
【００７６】
バッファレジスタ１１１は実際には、後述するように２系統設けられ、これをインターリーブして使うことによりギャップレスのデータの読み書きをチップ外部と行うことができるようにする。その転送速度はデータサイクル２５［ｎｓ］でありＩＯ当り４０［Ｍｂｓ］である。メモリチップとしては８０［Ｍbyte/s］のデータ転送速度を実現する。
【００７７】
図１２は、図１１と同じ容量のメモリチップの構成例を×８ＩＯの場合について示している。メモリコア１００のセルアレイユニット配列は、図１１の例と同じであり、一層で８［Ｇｂ］＋８３２［Ｍｂ］となり、積層数をｍとして、全容量は、８［Ｇｂ］×ｍ＋８３２［Ｍｂ］×ｍとなる。
【００７８】
この例では全体のメモリマットのうち1層が選択され、その中で８分の１の分割動作を行う。即ち、破線で囲んだセルアレイ部分があるアクセスのときに同時活性化される。セルアレイとの間で一括で読み書きされるデータは、（５１２［ｂ］＋４０［ｂ］）×４＝２２０８［ｂ］であり、これらのデータはセルアレイユニットからの６８ビットバスとチップ両端の７２ビットバスによって、２回の並列転送により転送される。各ＩＯあたり１２８ビットのデータがチップ外部とやり取りされるがこのデータ転送単位を以下、バーストと呼ぶ。
【００７９】
バースト用のデータを一時保持するのがバッファレジスタ１１１であり、そのデータビット数はＥＣＣ回路の処理データビット数（チェックビットを含む）のＭ倍（Ｍは整数）であり、各ＩＯあたり１２８＋４０＝１６８ビットのバッファである。このバッファレジスタ１１１とＥＣＣ回路１１２との間でＭ回の時分割でデータをやり取りして、エンコード又はデコードが行なわれ、そのコードデータはバッファレジスタ１１１に上書きされて、外部またはメモリセルアレイに転送される。
【００８０】
バッファレジスタ１１１が２系統設けられ、これをインターリーブして使うことは、上の例と同じである。その転送速度はデータサイクル２５［ｎｓ］でありＩＯ当り４０［Ｍｂｓ］である。メモリチップとしては４０［Ｍbyte/s］のデータ転送速度を実現する。
【００８１】
図１３に示すように、メモリコア１００とＥＣＣ回路１１２の間にバッファレジスタ１１１が設けられ、その中の２系統のレジスタが、一方がメモリコア１００との間で読み出し或いは書き込みのデータ転送（これを以下、内部転送という）をしている間に、他方が外部端子ＩＯとの間で読み出し或いは書き込みのデータ転送（これを以下、外部転送という）をする、というインターリーブ動作を行なうことになる。
【００８２】
ＥＣＣ回路１１２は前述のように、４ビットエラー訂正を行なうもので、これを簡単に説明すれば、図１４に示すようなエンコード部ＥＮＣと、図１５に示すようなデコード部ＤＥＣとを備えて構成される。
【００８３】
エンコード部ＥＮＣでは、その係数がデータを表す情報多項式ｆ（ｘ）に基づいて、チェツクビットを生成する。即ち、数１で表される情報多項式ｆ（ｘ）の係数ａ４ｎ〜ａｈ−１に情報ビットを割り当てる。
［数１］
ｆ（ｘ）＝ａｈ−１ｘｈ−１−４ｎ＋ａｈ−２ｘｈ−２−４ｎ＋……＋ａ４ｎ＋２ｘ２＋ａ４ｎ＋１ｘ＋ａ４ｎ
そして、４つの原始既約多項式ｍ１（ｘ），ｍ３（ｘ），ｍ５（ｘ），ｍ７（ｘ）を用いてコード生成多項式ｇ（ｘ）＝ｍ１（ｘ）ｍ３（ｘ）ｍ５（ｘ）ｍ７（ｘ）を生成し、４ｎ次から始まる多項式ｆ（ｘ）ｘ４ｎをｇ（ｘ）で割って、数２に示すような剰余ｒ（ｘ）を求める。
［数２］
ｆ（ｘ）ｘ４ｎ＝ｑ（ｘ）ｇ（ｘ）＋ｒ（ｘ）
ｒ（ｘ）＝ｂ４ｎ−１ｘ４ｎ−１＋ｂ４ｎ−２ｘ４ｎ−２＋……＋ｂ１ｘ＋ｂ０
この剰余多項式ｒ（ｘ）の係数ｂ４ｎ−１〜ｂ０がチェックビットとなり、情報ビットａｈ−１〜ａ４ｎと共にメモリに記憶されるデータビットを構成する。具体的にこの実施の形態では、エラー訂正率等を考慮して、有限体ＧＦ（２１０）を用いてＢＣＨコードのＥＣＣシステムを実現しており、情報ビットとして５１２ビット、チェックビットとして４０ビットを用いる。
【００８４】
メモリから読み出したデータは、次の数３で表される多項式ν（ｘ）となる。
［数３］
ν（ｘ）＝ｆ（ｘ）ｘ４ｎ＋ｒ（ｘ）＋ｅ（ｘ）
＝ｑ（ｘ）ｇ（ｘ）＋ｅ（ｘ）
即ち読み出したデータに生じたエラーは、ｈ−１次のエラー多項式ｅ（ｘ）で表される。デコード部ＤＥＣでは、このエラー多項式ｅ（ｘ）を求めることになる。
【００８５】
第１段階として、シンドローム演算部ＳＣにおいて、読み出しデータ多項式ν（ｘ）をそれぞれ既約多項式ｍ１（ｘ），ｍ３（ｘ），ｍ５（ｘ），ｍ７（ｘ）で割った剰余多項式であるシンドローム多項式を求める。そして求められたシンドロームに基づいて、エラー位置探索部ＥＳでエラー位置を計算する。４ビットエラーがｉ，ｊ，ｋ，ｌ次にあれば、エラー多項式は、ｅ（ｘ）＝ｘｉ＋ｘｊ＋ｘｋ＋ｘｌとなるので、この次数を求めるのがエラー位置探索となる。
【００８６】
エラー位置探索部ＥＳでは、エラーがない場合にその旨の信号“ｎｏ  ｅｒｒｏｒ”として出力し、４ビット以上のエラーがある場合には、エラー訂正が不可能である旨の信号“ｎｏｎ  ｃｏｒｒｅｃｔａｂｌｅ”を出力する。求められたエラービットをエラー訂正部ＥＣで訂正して、正しいデータを得ることが出来る。
【００８７】
このようなＥＣＣ回路を出来るだけ小さい回路規模でかつ高速動作が出来るように実現するには、エラー位置探索部ＥＳの計算規模を以下に小さくするかが重要になる。実際には、２ビットエラー、３ビットエラー、４ビットエラーの解探索の排他的条件を検討し、その結果に基づいてシステム内の共通回路を時分割で利用する、という手法を用いて、回路規模を効果的に小さくすることが出来るが、その詳細説明は省く。
【００８８】
次に、バッファレジスタ１１１とメモリコア１００との間のデータ転送即ち内部転送について、詳細に説明する。
【００８９】
先ず、図１６及び図１７を参照して、バースト転送によりバッファレジスタに格納した書き込みデータをメモリセルアレイに転送する、書込みデータ転送（Ｗｒｉｔｅ  Ｄａｔａ  Ｔｒａｎｓｆｅｒ；Ｗｄｔ）について説明する。
【００９０】
図１６は、×８ＩＯ構成の場合である。この場合、ＩＯあたりのバーストが１２８ビットで、これが８つで１０２４ビットの書き込みデータがバッファレジスタに格納される。バッファレジスタとしては、ＥＣＣ回路の情報ビット数５１２とチェックビット数４０を合わせた５５２ビットの二つのレジスタＲＥＧ１，ＲＥＧ２を持つ。即ち１０２４ビットの書き込みデータは、１２８サイクルのバーストによりレジスタＲＥＧ１，ＲＥＧ２に５１２ビットずつ格納される。
【００９１】
ＥＣＣ処理はデータ５１２ビット毎であるので、レジスタＲＥＧ１，ＲＥＧ２のデータが２回の時分割でＥＣＣ回路１２２のエンコード部ＥＮＣに送られてエンコードされ、エンコード処理されたデータが、生成されたチェックビット（４０ビット）と共に同じレジスタＲＥＧ１，ＲＥＧ２に上書きされる。
【００９２】
エンコードの時間は５０［ｎｓ］であり、全ての書き込みデータのエンコードに５０［ｎｓ］×２＝１００［ｎｓ］の時間を要する。バッファレジスタＲＥＧ１，ＲＥＧ２に上書きされたデータコードは、ほぼ２［μs］の時間をかけてセルアレイに転送され、書き込まれる。
【００９３】
図１７は、×１６ＩＯ構成の場合である。この場合、ＩＯあたりのバーストがやはり１２８ビットでこれが１６あるので、２０４８ビットのバッファレジスタに書き込みデータを格納することになる。バッファレジスタとしては、５１２ビット＋４０ビット構成の４つのレジスタＲＥＧ１〜ＲＥＧ４が用意され、これらに１２８サイクルのバーストで５１２ビットずつ格納される。
【００９４】
これらのバッファレジスタに格納された書き込みデータは、やはり時分割でＥＣＣ符号化のためのエンコード処理を行い、４０ビットのチェックビットを付加してそれぞれ同じバッファレジスタに上書きされる。
【００９５】
エンコード処理はデータ５１２ビット毎であり、エンコード時間を５０［ｎｓ］として、すべての書き込みデータのエンコードに５０［ｎｓ］×４＝２００［ｎｓ］の時間を要する。バッファレジスタに上書きされたデータコードはほぼ２［μs］の時間をかけてセルアレイに転送され、書き込まれる。
【００９６】
次に、図１８及び図１９を参照して、メモリセルアレイのデータを読み出してバッファレジスタに転送し、これをバースト転送で外部に出力する読み出しデータ転送（Ｒｅａｄ  Ｄａｔａ  Ｔｒａｎｓｆｅｒ；Ｒｄｔ）について、説明する。
【００９７】
図１８は、×８ＩＯ構成の場合である。この場合、ＩＯあたり１２８ビットのバースト分のデータコード（５１２ビット＋４０ビット）×２を、二つのバッファレジスタＲＥＧ１，ＲＥＧ２にセルアレイから読み出し転送する。この段階ではデータはＥＣＣ回路を通していない。このデータ転送には１００［ｎｓ］の時間を必要とする。
【００９８】
そして、バッファレジスタＲＥＧ１，ＲＥＧ２のデータコードを、時分割によりＥＣＣ回路のデコード部に転送して、２回で×８のバースト分のデコード処理を行ない、訂正されたデータをそれぞれもとのレジスタＲＥＧ１，ＲＥＧ２に上書きする。
【００９９】
ＥＣＣのデコードに要する時間は２００［ｎｓ］であり、これを２回繰り返すので４００［ｎｓ］の時間でデコード処理が終わり、最終的にバッファレジスタＲＥＧ１，ＲＥＧ２にはエラー訂正されたデータとチェックビットが保持される。このバッファレジスタのデータ部分を、バースト転送して順次ＩＯに出力する。
【０１００】
図１９は、×１６ＩＯの場合である。この場合、ＩＯあたり１２８ビットのバースト分の読み出しデータコード（５１２ビット＋４０ビット)×４を、４つのバッファレジスタＲＥＧ１〜ＲＥＧ４にセルアレイから転送する。このデータ転送には１００［ｎｓ］の時間を必要とする。バッファレジスタに読み出されたデータコードは、順次ＥＣＣ回路のデコード部に転送され、デコード処理によりエラー訂正されたデータとして、元のレジスタに上書きされる。
【０１０１】
デコード処理は、時分割によって４回で×１６のバースト分のデータ処理となる。１回のデコード処理に要する時間は２００［ｎｓ］であり、これを４回繰り返すので８００［ｎｓ］の時間で全てのデコード処理が終わり、最終的にバッファレジスタＲＥＧ１〜ＲＥＧ４にはエラー訂正されたデータとチェックビットが保持される。このバッファレジスタのデータ部分を、バースト転送して順次ＩＯに出力する。
【０１０２】
次に、２系統のバッファレジスタによる内部転送と外部転送のインターリーブ転送動作を具体的に、図２０を用いて説明する。
【０１０３】
先ず注意すべきは、クロックに同期して外部転送を行うバッファレジスタには、読み書きに関係なく対応するアドレスのデータが予め保持されるようにすることである。読み出しではこれは当然であるが、書き込みの場合にも、書き込む先のバッファレジスタには予めデータが読み出されていて、これに対して書き込みデータを上書きする。このような方法を用いることにより、データのマスク入力やバースト途中での書き込みの中止などに対してバーストアドレスのデータが保持され、データの整合性が保たれることになる。
【０１０４】
バッファレジスタにバーストアドレスのデータを予め格納しておく作業は、２系統のバッファレジスタの現にバースト転送を行なうものの裏側のバッファレジスタに対して、次のバーストに備えて行うことになる。
【０１０５】
図２０において、バッファレジスタＲＥＧ−Ａは、現にバースト転送（外部転送）を行なっているものであり、そのバーストサイクル内でもう一方のバッファレジスタＲＥＧ−Ｂにおいて、内部転送即ち、書き込みデータ転送（Ｗｄｔ）と読み出しデータ転送（Ｒｄｔ）とが行われることを示している。
【０１０６】
なお、書き込みデータ転送Ｗｄｔを伴う場合と伴わない場合があるが、これはセルアレイとのデータ転送のシークエンスでＷｄｔの動作を行うか行わないかの違いである。他の転送方法では、書き込みデータ転送Ｗｄｔを常に行うものとすることもできる。これはバッファレジスタに格納されているデータはエラーのないデータあることが、読み出しの場合はＥＣＣ回路でのエラー訂正の結果で保証され、書き込みの場合はそもそも書き込んだデータが正しいデータであることにより保証されているからである。
【０１０７】
このデータをＥＣＣ回路のエンコード部を介して書き込み転送することによって、読み出しの場合も書き込みの場合もセルアレイにはエラーがないデータコードが転送できる。これはセルアレイのデータのリフレッシュを行うことに相当する。これはＥＣＣ回路がセルアレイとデータレジスタのデータ転送の途中に介在することによって初めて可能になる概念である。
【０１０８】
バーストサイクル内で、レジスタＲＥＧ−Ｂからセルアレイへの書き込みデータ転送Ｗｄｔの後に、次のバーストとなるアドレスのデータをセルアレイからレジスタＲＥＧ−Ｂに読み出しデータ転送Ｒｄｔを行い、エラー訂正されたデータとして格納する。これらのＷｄｔとＲｄｔをバーストサイクル中に完了して次のバーストに備えるので、バーストサイクルの読み出しサイクル時間ｔＲＣや書き込みサイクル時間ｔＷＣが２５［ｎｓ］なら、バーストは１２８サイクルよりなるので、２５［ｎｓ］×１２８＝３．２［μs］でこれらの転送を完了させなければならない。
【０１０９】
先にそれぞれの転送に要する時間を示したが、×８ＩＯではＷｄｔに２．１［μs］かかり、Ｒｄｔに５００［ｎｓ］かかるので合わせて２．６［μs］が最低必要である。×１６ＩＯでは、Ｗｄｔに２．２［μs］かかり、Ｒｄｔに９００［ｎｓ］かかるので合わせて３．１［μs］が最低必要となる。いずれもバーストサイクル時間３．２［μs］より短いので、外部転送と内部転送のデータ転送間に矛盾は生じない。
【０１１０】
次に、バーストサイクルでのデータ転送のタイミング仕様の詳細を説明する。具体的には、読み出しと書き込みのデータバーストが混在するデータ転送でのタイミング仕様とコマンド信号のタイミング仕様の一例を説明する。
【０１１１】
図２１は、２系統のバッファレジスタＲＥＧ−ＡとＲＥＧ−Ｂにより、これらが交互にバースト転送を行い、そのバースト転送の間、他方のレジスタがセルアレイとの間で書き込みデータ転送Ｗｄｔと次のバースト転送に備えた読み出しデータ転送Ｒｄｔを行なうことを示している。
【０１１２】
図２２を参照して、このようなデータ転送を可能とするためのタイミング仕様を説明する。新たなデータバーストが始まる前にそのデータバーストが読み出しか書き込みかを決める必要がある。またデータバーストのアドレス入力も必要である。なお以下で説明するようなコマンド開始信号を用いてコマンドを取り込む方法に関しては、既に本発明者等による特許提案がある（例えばＵＳＰ６，１８５，１５０）。
【０１１３】
図２２に示すように、コマンドを取り込むクロックサイクルを決定するコマンド開始信号のタイミングは、バーストデータの切り替えタイミングでのクロックの立ち上がりｔ０を基準として規定する。その方法は、二つある。
【０１１４】
その一は、クロックの立ち上がりｔ０から、コマンド開始信号のセットアップ時間ｔＣＳ＊とコマンド信号の持続させる時間に相当するｔＣＨ＊を規定する方法である。このとき次のデータバーストのためデータを読み出しデータ転送Ｒｄｔによりバッファレジスタに準備する必要がある。そのための一括読み出し転送のための転送時間は×８ＩＯなら５００［ｎｓ］程度、×１６ＩＯなら９００［ｎｓ］程度かかるので、ｔＣＳ＊にはこの時間程度の以上の時間を設定する必要がある。
【０１１５】
しかしセットアップ時間が長すぎると設定が難しくなることとコマンドを受け取るタイミングの発生も正確に設定できないなど不都合も生じやすい。そこでその二の方法として、クロック数をもとにクロックエッジｔ０からタイミングを規定する方法がある。
【０１１６】
即ちデータバーストの切り替わりとなるクロックの立ち上がりエッジｔ０からｍサイクル前のクロックを指定し、その立ち上がりからコマンド開始信号の立ち上がりと立ち下がりのタイミングｔＣＳとｔＣＨを図２２のように規定する。具体的に、クロック周期をｔＣＫとして、ｍ×ｔＣＫが、５００ｎｓまたは９００ｎｓ以上であることが必要である。ｔＣＫ＝２５ｎｓならｍは２０または３６以上となる。
【０１１７】
このコマンド開始信号によって、次のデータバーストサイクルの読み出し又は書き込みのモードやアドレスなどのコマンド取り込みが開始されるようにする。
【０１１８】
クロックＣＫとデータとのタイミングは、読み出しではデータ出力は各クロックエッジからのデータアクセス時間ｔＡＣで決まる。クロックに対してクロックレイテンシを持たせることも可能である。図ではクロックの立ち上がりエッジを基準にしたが、立ち下がり側も使うＤＤＲ仕様も可能である。書き込みではクロックの立ち上がりエッジからのセットアップ時間ｔＤＳとホールド時間ｔＤＨで決まる間入力データを保持すればよい。
【０１１９】
図２１では、データバーストが読み出しデータバーストか書き込みデータバーストかは示していないが、データバースト間のモードの関係は四つある。すなわち、読み出しデータバーストが続く場合（Ｒ−Ｒ）、書き込みデータバーストが続く場合（Ｗ−Ｗ）、読み出しデータバーストの次が書き込みデータバーストである場合（Ｒ−Ｗ）及び、書き込みデータバーストの次が読み出しデータバーストである場合（Ｗ−Ｒ）の４つである。各々について以下に説明する。
【０１２０】
モードＲ−Ｒは、読み出しの連続シークエンスであり、データバースト間にデータ出力のクロックの跳びは生じない。
【０１２１】
モードＷ−Ｗは書き込みの連続シークエンスであり、Ｒ−Ｒと同様にデータ入力のクロックの跳びは生じない。
【０１２２】
モードＲ−Ｗは、読み出しデータバーストから書き込みデータバーストに切り替わるシークエンスである。この場合、データのクロックエッジに対する規定が読み出しと書き込みとで異なり、書き込みの方がデータがクロックエッジに対して先行するので、切り替わりに際してデータとクロックの関係をずらせてやる必要がある。即ち、タイミングｔ０の前の読み出しデータバーストが、次の書き込みデータバーストに重なる可能性があるので、そのバーストデータの入力を、ｔ０からｎクロックサイクル（ｎ≧１）後からはじめるようにする。このｎサイクル後のクロックから実際の書き込みデータバーストサイクルが始まることになる。
【０１２３】
モードＷ−Ｒは、書き込みデータバーストから読み出しデータバーストに切り替わるシークエンスであり、切り替わりに際してデータとクロックのエッジのタイミングは遅れる方にずれるので特別の配慮をしなくてもデータとクロックの関係に矛盾は生じない。すなわちｎ＝０で良い。
【０１２４】
なお、読み出したバーストに対してＥＣＣリフレッシュを行う方式では、書き込みデータ転送Ｗｄｔはバッファレジスタが切り替わるタイミングで常に行う。ＥＣＣリフレッシュを行わない場合は、書き込みデータバーストの後の切り替わりの際にのみ転送が行われる。読み出しデータ転送Ｒｄｔは、コマンドによりバーストのアドレスが確定したらすぐにセルアレイからバッファレジスタへのデータ転送を開始するものとし、次のバーストが書き込みか読み出しかによらずに常にこのＲｄｔが行われるようにする。
【０１２５】
図２２では、クロックサイクルｔＣＫをクロックＣＫの立ち上がりから次の立ち上がりまでとしているが、ダブルデータレート（ＤＤＲ）なども考えるとクロックサイクルの意味をクロックのデータまたはコマンドのタイミング規定の基準となるクロックエッジ間で定義できる。すなわち、ＤＤＲではクロックの立ち上がりと立ち下がりのエッジで定義する。
【０１２６】
メモリ外部とバーストサイクルでデータの読み書きを行う場合、即ち外部転送の場合に、ここではバーストとして１２８サイクルの長さを考えているので、バースト転送を完結しないで途中で終了する場合が頻繁に発生すると思われる。このときにメモリアレイ内のデータと読み書きにするデータとの整合性を維持する方法について説明する。
【０１２７】
バースト転送が途中で終わるのは、新たなバーストサイクルを途中から切り替えて始める割り込み（interrupt）の場合と、バースト転送を止めてメモリアクセスを終了する中断（stop）の場合がある。
【０１２８】
図２３は、バーストサイクルの割り込みの場合である。バッファレジスタＲＥＧ−Ａを用いてのバースト転送“ｂｕｒｓｔＡ”を行なっている途中のあるクロックサイクルで、図示のように割り込みコマンドが入ったとする。このコマンドの設定の詳細は後ほど説明する。
【０１２９】
割り込みが生じるまでは、“ｂｕｒｓｔＡ”が書き込みバーストなら、メモリ外部からのデータはバッファレジスタＲＥＧ−Ａのデータを上書きして読み込まれるので、割り込みが生じたクロックサイクル以降のレジスタＲＥＧ−Ａのデータはデータを書き込む先のバーストデータがＥＣＣ回路を経て訂正されたデータのままである。すなわち後ほど説明するデータ書き込みのマスク動作と同様にデータの上書きは行われない。
【０１３０】
この上書きされたレジスタＲＥＧ−Ａのデータをセルアレイに書き込む際には必ずＥＣＣ回路を通してエンコードを施したコードデータとして、書き込みデータ転送Ｗｄｔをしなければならない。レジスタＲＥＧ−Ａでのバースト転送の間、レジスタＲＥＧ−Ｂでは、書き込みデータ転送Ｗｄｔ（或いはＥＣＣ回路を通さない書き込みデータ転送の場合があり、これをＷｄｔ＊とする。以下同様）と読み出しデータ転送Ｒｄｔが行われている。
【０１３１】
従って、割り込み後新たなバースト転送“ｂｕｒｓｔＢ”を開始できるのは、レジスタＲＥＧ−ＢでのＷｄｔ或いはＷｄｔ＊が終わり、新たなバーストのアドレスのＲｄｔが行われた後である。新たなバースト“ｂｕｒｓｔＢ”が開始されると同時に、先の割り込みされた“ｂｕｒｓｔＡ”側のレジスタＲＥＧ−ＡからのＷｄｔ又はＷｄｔ＊転送を行う。
【０１３２】
バースト“ｂｕｒｓｔＡ”が読み出しバーストであるとすると、割り込みが生じるまではレジスタＲＥＧ−Ａに読み出し転送されたデータのバースト読み出しが中断されるだけであり、ＲＥＧ−Ａ内のデータはＥＣＣ回路によってデコードされてエラー訂正されたデータであるので、このデータをセルアレイに書き戻す際には改めてエンコードする必要はない。即ち、ＲＥＧ−Ａのチェックビットを合わせて書き戻せばよく、これがＥＣＣ回路を通さない書き込みデータ転送Ｗｄｔ＊となる。
【０１３３】
図２４は、バーストサイクルを中断する場合である。バッファレジスタＲＥＧ−Ａでのバーストサイクルの途中で、図示のように終了コマンドが入ったとする。中断が生じるまでは、このバースト“ｂｕｒｓｔＡ”が書き込みバーストならメモリ外部からのデータはレジスタＲＥＧ−Ａのデータを上書きして読み込まれる。中断 が生じたクロックサイクル以降のレジスタＲＥＧ−Ａのデータはデータを書き込む先のバーストデータがＥＣＣを経て訂正された読み出しデータのままである。
【０１３４】
すなわちこの場合も、後ほど説明するデータ書き込みのマスク動作と同様にデータの上書きは行われない。この上書きされたレジスタＲＥＧ−Ａのデータをセルアレイに書き込む際には必ずＥＣＣ回路を通してエンコードを施したコードデータとして書き込み転送Ｗｄｔをしなければならない。このＷｄｔ転送を開始できるのは、レジスタＲＥＧ−ＢのＷｄｔ（又はＷｄｔ＊）が終わった後であり、ＲＥＧ−Ｂの転送が終了した後、中断された“ｂｕｒｓｔＡ”のレジスタＲＥＧ−ＡからＷｄｔ転送を行うことになる。
【０１３５】
バースト“ｂｕｒｓｔＡ”が読み出しバーストならば、中断が生じるまではレジスタＲＥＧ−Ａに読み出し転送されたデータのバースト読み出しが中断されるだけであり、レジスタＲＥＧ−Ａ内のデータはＥＣＣ回路によってエラー訂正されたデータであるので、これをセルアレイに書き戻す際には改めてエンコードする必要はない。従ってこの場合、書き込みデータ転送はＷｄｔ＊となる。
【０１３６】
バッファレジスタＲＥＧ−ＡからのＷｄｔ又はＷｄｔ＊を完了して、メモリのアクセスの実際の終了となる。
【０１３７】
なお割り込みの場合は、新たなバーストサイクルが開始されるのはデータ転送によってデータの準備が完了した後であり、このクロックサイクルは外部から決まるのではなくメモリシステムによって決まるものである。メモリと外部とのデータ転送にクロックサイクルのギャップが生じるので、メモリ側から内部のデータ転送状態を示す信号を出力することも必要であり、この信号を合図に新たなバーストサイクルの開始と判断できるようにする。
【０１３８】
書き込みデータ転送Ｗｄｔに対してＥＣＣを施す場合と施さない場合があり、これは後に説明するＥＣＣリフレッシュとも関係するので、ここでその概要を説明する。
【０１３９】
ＥＣＣリフレッシュとは、エラー訂正が施されたデータをレジスタに保持して、アクセスしたバーストデータの累積エラーを解消するためにこれをセルアレイに書き込んで保持データをリフレッシュする操作をいう。書き込みバーストも含めて、レジスタに保持されたデータが正しいものであるという前提を元にしている。読み出しバーストであれば、データはセルアレイ内のデータをＥＣＣ回路を通してデコードするのでチェックビットも含めて正しく、書き込みバーストであればデータが上書きされるのでチェックビットは使えず、新たにエンコードする必要がある。
【０１４０】
バーストサイクルにおいては、二系統のバッファレジスタを並行して使用し、一方は外部とのデータ転送、他方はセルアレイとのデータ転送を行うが、レジスタからセルアレイへの書き込みデータ転送Ｗｄｔは、上記の説明からも分かるようにレジスタに保持されているデータが読み出しバーストで利用されたのか書き込みバーストで利用されたのかでふたつの場合が生じる。
【０１４１】
図２５は、バッファレジスタＲＥＧ−Ａにおいて、読み出しバースト（ｂｕｒｓｔＡ）の後、バッファレジスタＲＥＧ−Ｂで書き込みバーストサイクル（ｂｕｒｓｔＢ）の裏でセルアレイへの書き込み転送を行なう場合である。このとき、ｂｕｒｓｔＢの裏での書き込みデータ転送は、エンコードを行わなくてもチェックビットまで含めて正しいコードデータとなっているので、ＥＣＣ回路を通すことなく、セルアレイに書き戻すことができる。これが、ＥＣＣなしの書き込みデータ転送Ｗｄｔ＊である。
【０１４２】
ＥＣＣ回路のエンコードは、×８ＩＯの場合１００［ｎｓ］、×１６ＩＯでは２００［ｎｓ］程度の時間を要することは先に説明した。したがってこの時間だけ短い転送時間で書き込みデータ転送が実行可能である。無論、バーストの種類の判断が煩わしければ、通常の書き込みデータ転送Ｗｄｔを行って再びエンコードしてもかまわない。
【０１４３】
図２６は、バッファレジスタＲＥＧ−Ａにおいて、書き込みバースト（ｂｕｒｓｔＡ）の後、バッファレジスタＲＥＧ−Ｂでのバースト（ｂｕｒｓｔＢ）の裏でセルアレイへの書き込み転送を行なう場合である。このとき、ｂｕｒｓｔＡによりレジスタＲＥＧ−Ａのデータは少なくとも一部が上書きされた上書きデータである。この新たなデータのチェックビットを作るためには必ずエンコードが必要で、次の書き込みバーストサイクル（ｂｕｒｓｔＢ）では、ＥＣＣ回路を通す通常の書き込みデータ転送Ｗｄｔを行うことになる。
【０１４４】
書き込み転送Ｗｄｔ又はＷｄｔ＊が行われた直後のセルアレイのバーストデータはエラーがもっとも少ない状態であり、いわばデータがリフレッシュされている。この後メモリセルアレイ内に保持されている状態で様々なディスターブを受けてエラービット数が増えるので、ＥＣＣによって訂正できる範囲をエラー数が超える前に再び読み出し転送でバッファレジスタに読み出して書き戻すというＥＣＣリフレッシュを行うことが好ましい。このＥＣＣリフレッシュの詳細は後ほど説明する。
【０１４５】
次に図２７を用いて、バーストサイクルの割り込み（interrupt）のタイミング仕様の詳細を説明する。コマンドの受付開始を指示するコマンド開始信号ＣＥを新たなバースト（これは新たなデータ転送サイクルの開始と一致）を開始したいクロックサイクルのエッジから時間ｔＣＳ＊またはサイクル数ｍによって規定されたクロックエッジからの時間ｔＣＳでセットする。割り込みでなくバーストの中断の場合は、新たなバーストサイクルはないのでこの規定はない。このサイクル数ｍなどは先にバースト切り替えの仕様の説明の際に示したものと同じである。
【０１４６】
コマンド開始信号ＣＥを受けたクロックサイクルの次のクロックからコマンドのコードを受け付けるが、現在進行中のバーストのデータに関してはコマンドコードが割り込み（interrupt）か中断（stop)かが判明したサイクルの次のサイクルからバッファレジスタと外部とのデータ転送を行わなくなる。この規定がコマンド開始信号ＣＥの設定サイクルからｋサイクルである。この実施形態の場合はコマンドコードを３ビットとして、ｋは４より大きく設定される。
【０１４７】
コマンド開始信号ＣＥの設定サイクルは新たなデータ転送サイクルを始めたい時刻を基準に規定されるが、ＣＥを入れたタイミングによっては割り込みまたは中断を受けるバーストと同時に進行中のセルアレイとのデータ転送が完了できない場合もある。そこでメモリ側から内部のデータ転送状態を表す信号ＤＴＸ_Ａ，ＤＴＸ_Ｂを外部に出力する。
【０１４８】
すなわち、バッファレジスタＲＥＧ−Ａが内部データ転送できる期間中はＤＴＸ_Ａが“１”であり、バッファレジスタＲＥＧ−Ｂが内部データ転送できる期間中はＤＴＸ_Ｂ＝“１”となる。この信号の切り替わりのタイミングは、レジスタとセルアレイとの間のデータ転送が終了したらクロックに同期してデータの出力と同様のｔＡＣのタイミングで行われる。
【０１４９】
バッファレジスタＲＥＧ−ＡとＲＥＧ−Ｂのデータ転送は交互に行われるので、ＤＴＸ_ＡとＤＴＸ_Ｂをひとつの信号としてこの信号の“１”または“０”を一方の転送使用期間を示すものとすることもできる。ＤＴＸ_Ａ，ＤＴＸ_Ｂが変化した次のクロックサイクル以降が新データ転送サイクル（新バーストサイクル）となる。
【０１５０】
バーストサイクルの中断の場合は、ＤＴＸ_ＡやＤＴＸ_Ｂが切り替わった以降で新たなデータ転送が完了して再びこれらの信号が切り替わるタイミングを待ってメモリのデータ転送動作が終了しメモリのセルアレイに保持されたデータと外部とやり取りしたデータの整合性が保たれる。
【０１５１】
ＥＣＣリフレッシュの詳細を検討するために、セルアレイとバッファレジスタの間のデータ転送の方式を、ここでまとめ直す。バッファレジスタ上のデータは、常に正しデータを表現していることは以前にも述べた。バッファレジスタの一部であるチェックビット用レジスタ部が正しいデータに対応したものであるか否かは、動作のシークエンスに依存する。
【０１５２】
図２８は、２系統のバッファレジスタＲＥＧ−Ａ，ＲＥＧ−Ｂを利用して、バーストサイクルｂｕｒｓｔＡとｂｕｒｓｔＢをインターリーブする様子を示している。
バーストのデータ転送状態は、信号ＤＴＸ_Ａ，ＤＴＸ_Ｂによりモニターすることが出来る。
【０１５３】
バースト転送の裏で行なう書き込みデータ転送には、ＥＣＣ回路のエンコード部を介してバッファレジスタにコード化したデータを保持してこれをセルアレイに書き込む転送（Ｗｄｔ）と、ＥＣＣ回路のエンコード部を通さずにバッファレジスタの書き込みデータをセルアレイに書き込む転送（Ｗｄｔ＊）とがある。読み出しデータ転送（Ｒｄｔ）は、ＥＣＣ回路を通してエラー訂正された読み出しコードデータをバッファレジスタに保持して、これを出力する場合である。
【０１５４】
ＷｄｔとＷｄｔ＊のいずれを使うかは、転送前のバーストサイクルが読み出しであったか書き込みであったかの履歴によって判断する。
【０１５５】
図２８に示すように、レジスタＲＥＧ−Ａでバースト転送している間、レジスタＲＥＧ−Ｂで内部転送（Ｗｄｔ Ｂ or Ｗｄｔ＊ Ｂ，and Ｒｄｔ Ｂ）を行なうことが出来、レジスタＲＥＧ−Ｂでバースト転送している間、レジスタＲＥＧ−Ａで内部転送（Ｗｄｔ Ａ or Ｗｄｔ＊ Ａ， and Ｒｄｔ Ａ）を行なうことが出来る。
【０１５６】
さて、リアルタイムＥＣＣ前提なら、セルのリフレッシュをこれらの内部転送を用いて行いディスターブによってセルが受けるエラーを修正することができる。バッファレジスタへの読み出しデータ転送（Ｒｄｔ）の際にはＥＣＣデコードされているので、アクセスされたバーストアドレスに対しては、バッファレジスタに有るデータは必ず次のバーストサイクルで書き戻し転送であるＷｄｔ又はＷｄｔ＊を行なう。即ち、書き込みバーストの後なら、ＥＣＣ回路のエンコード部を通すＷｄｔとし、読み出しバーストの後なら、エンコード部を通さないＷｄｔ＊とする。
【０１５７】
アクセスセルブロック内のその他のバーストアドレスに対しては、同じセルブロック内で書き込みまたは読み出し転送を行なうとセルブロックのマット内の待機セルも電気的熱的なディスターブを受けるので、そのセルアレイブロックへのバーストサイクルのアクセスの一定回数ごとに、同じセルアレイブロック内でのバーストアドレスを巡回的に変えて読み出しデータ転送Ｒｄｔを行い、バッファレジスタを介してデータを書き込みデータ転送Ｗｄｔ＊で書き戻す。
【０１５８】
このリフレッシュバーストアドレス発生は、（ａ）セルアレイブロックへのバーストアクセス回数をカウントして一定回数ごとにリフレッシュバーストアドレスを巡回的に変化させてメモリが自動的に行うオート方式と、（ｂ）外部のコントローラが状況を見てコマンドとアドレスで対応するコマンド方式とが考えられる。
【０１５９】
オートＥＣＣリフレッシュはコマンドＥＣＣリフレッシュの制御をチップに導入し、当該バーストサイクルがリフレッシュバーストであることを示す信号を外部出力してやればよいので、ここでは、セルのディスターブへの耐性によってリフレッシュの方式を柔軟に対応できるコマンドＥＣＣリフレッシュのみを述べる。
【０１６０】
図２９は、図２８のバーストシーケンスを元に、レジスタＲＥＧ−Ａでのあるバーストサイクルを“リフレッシュバーストサイクル（Refresh Burst Cycle）”とした例を示している。バーストサイクルを続けて、あるセルアレイブロックのリフレッシュ条件が満たされたらこのセルアレイブロックのリフレッシュバーストアドレスをコントローラからメモリに与えリフレッシュを行う。
【０１６１】
即ち、図示のように、適当なタイミングｔ１０でリフレッシュコマンド“Ref command”とリフレッシュアドレス“Ref.Add.”を与えて、バッファレジスタＲＥＧ−Ａに対して読み出しデータ転送（Ｒｄｔ Ａ）を行う。
【０１６２】
このＲｄｔの後では、バッフアレジスタＲＥＧ−Ａにはエラー訂正されたデータとチェックビットが保持されるので、このレジスタＲＥＧ−Ａから次のバーストサイクルで同じリフレッシュアドレスへ書き戻しの転送（Ｗｄｔ＊Ａ）を行ってリフレッシュのサイクルが終了する。リフレッシュバーストサイクル内に、次のバーストサイクルの読み書きコマンド（W/R command）の発行を行い（タイミングｔ１１）、アクセスを再開する。
【０１６３】
バーストサイクルは本実施の形態では１２８サイクルよりなり、１サイクル２５［ｎｓ］とすると３．２［μs］の間はＥＣＣリフレッシュサイクルではデータのやり取りが出来なくなる。リフレッシュサイクルではＩＯを介してのデータにやり取りはないので、１２８クロックサイクルを待つ必要はない。
【０１６４】
そこで内部データ転送が終わればすぐに次のバーストサイクルを開始できる割り込みを利用して、出来るだけリフレッシュのデータ転送のギャップを小さくすることが出来る。図２９ではこれを示すためにリフレッシュサイクルでのＷ／Ｒコマンド設定に際し、括弧で“interrupt”と示し、割り込みコマンドが良いことを示した。
【０１６５】
図３０は、“マスク書き込み（Mask Write）”バーストサイクルを設定した例である。ここでは、レジスタＲＥＧ−Ａのバーストサイクルをマスク書き込みサイクルとしている。
【０１６６】
書き込みバーストにおいては一部のデータのみを書き換えたい場合がある。この要求に対応するのがマスク書き込みである。すなわち、書き込みバーストの際はバッファレジスタＲＥＧ−Ａに書き込み先のバーストアドレスのデータがＥＣＣ訂正されてＲｄｔで転送されているので、データ書き換えの必要ないバーストクロックサイクルは、外部からの書き込みデータをレジスタに上書きしないようにマスクする。そのためには、マスクするクロックサイクルを指定するためのマスク信号“ＭＡＳＫ”が必要となる。
【０１６７】
図３０にはマスク信号ＭＡＳＫのタイミング規定の例を示している。データのバッファレジスタへの書き込みサイクルに合わせてマスク信号を立ち上げて設定すると、そのサイクルでのデータはバッファレジスタへは転送されない。すなわちマスク信号がＭＡＳＫ＝“Ｈ”であるクロックエッジのデータ取り込みが無効となって、バッファレジスタにデータが上書きされない。
【０１６８】
マスク信号のセットアップとホールド時間ｔＳとｔＨは、図のようにデータと同じクロックエッジから規定される。
【０１６９】
このマスク書き込みバーストサイクルの次のバーストサイクルでの内部書き込みデータ転送は、ＥＣＣ回路を介した書き込みデータ転送Ｗｄｔとなり、コードデータが新たに生成されて書き込み転送される。
【０１７０】
図３１は、前バーストサイクルと同じバーストアドレスに同じデータの書き込みを行なう“繰り返し書き込み（Repeat Write）”転送の仕様である。抵抗変化物質を用いたセルを使用してデータを保持する場合、ＥＣＣリフレッシュのような方法によらずにセルの状態保持の信頼性を向上するには、低抵抗状態および高抵抗状態をしっかりと設定する必要がある。またセルアレイの出来よっては、抵抗値設定をしつこく行わないと保持特性の信頼性を十分得られないようなマージナルなものも存在する。
【０１７１】
そこで同じバーストアドレスに同じデータを何回か続けて書き込む、繰り返し書き込みの仕様が必要となる。即ちセルへの同じデータの書き込みを複数回行なうためバッファレジスタからの書き込みデータ転送Ｗｄｔを繰り返すためコマンド仕様である。
【０１７２】
図３１に示す繰り返し書き込みサイクルと、次のサイクルでは内部データ転送のバッファレジスタの入れ替えが通常とは異なる。繰り返し書き込みサイクルでは、繰り返されるバーストサイクルが読み出しならＷｄｔ＊、書き込みならＷｄｔがレジスタＲＥＧ−Ｂから行われ、新たなサイクルのデータの読み出しＲｄｔがバッファレジスタＲＥＧ−Ａに対して行われる。
【０１７３】
繰り返しバーストサイクルのＷｄｔ又はＷｄｔ＊の後では、バッファレジスタＲＥＧ−Ｂのデータはチェックビットも含めてＥＣＣ回路のエンコードを受けている。そこでこの新たなサイクルで再びレジスタＲＥＧ−Ｂから行う内部データ転送はＷｄｔ＊でよく、この転送でセルデータを上書きする。
【０１７４】
すなわちバッファレジスタの転送データは、Ｒｄｔ又はＷｄｔによってＥＣＣエンコードされているのでチェックビットも含めて既に正しいコードデータとなっている。このバッファレジスタのデータを繰り返し書き込みコマンド“Ｒｅｐ．Ｗ command”によってもう一度セルアレイにＷｄｔ＊転送する。
【０１７５】
この繰り返し書き込みによって不良書き込みの数が訂正可能数以下になるようにすることが可能である。
【０１７６】
繰り返し書き込みコマンドが設定された次のバーストサイクルではバッファレジスタの入れ替えが生じないので、外部からとのデータのやり取りが遮断される。このバーストサイクルでは１２８サイクルは必要なく内部の転送が完了すれば次の動作に移れる。従って新たなバーストサイクルの開始のコマンドは割り込みを利用して、転送が完了してすぐに新たなバーストサイクルを始めることが出来る。図ではこれを示すためにリフレッシュサイクルでのコマンド設定に際し、括弧で“interrupt”と示し、割り込みコマンドで良いことを示した。
【０１７７】
また、繰り返しサイクルでは内部データ転送が通常とは異なり、書き込み転送と と読み出し転送が異なるバッファレジスタを対象として行われるので、信号ＤＴＸ_ＡとＤＴＸ_Ｂは図の様な変化をする。
【０１７８】
図３２は、前バーストサイクルと同じバッファレジスタのバースト読み出しを行なう“繰り返し読み出し（Repeat Read）”バーストサイクルの仕様を示している。即ち、同一のバッファレジスタを連続して複数回バーストアクセスするためコマンド仕様であり、図示のように繰り返し読み出しコマンド“Rep.R command”を入れて設定する。
【０１７９】
書き込みバーストの後の繰り返し読み出しバーストなら、バッファレジスタに書き込んだデータをすぐにそのバッファレジスタから読み出すことになる。図３１の繰り返し書き込みとの違いは内部データ転送が繰り返されない点である。これは同じバッファレジスタ、図３２の例ではレジスタＲＥＧ−Ｂが外部データ転送と内部データ転送を同時に行うことになるからである。無論同じバッファレジスタからの同時転送は不可能ではないので、繰り返し書き込みの仕様に内部データ転送を付け加えた仕様としても良い。
【０１８０】
繰り返しサイクルで内部データ転送を行わない場合は、バッファレジスタからのデータ転送の際には繰り返されるのが読み出しバーストなのか書き込みバーストなのかに応じて、次のバーストサイクルの内部データ転送がＷｄｔ＊又はＷｄｔとなる。即ち、読み出しバーストなら既にチェックビットも含めて正しいデータがバッファレジスタに保持されているからエンコードなしの書き込み転送Ｗｄｔ＊でよく、書き込みバーストなら新たにチェックビットを作成しなければならないので、エンコードを伴う書き込み転送Ｗｄｔとなる。
【０１８１】
また繰り返しサイクルはデータのバースト出力を伴い、１２８サイクルをフルに使用するので特に必要がない限り割り込みをしない。
【０１８２】
図３３及び図３４は、コマンド、バーストアドレスの取り込みなどのタイミングの規定と、入力信号の関係などについてまとめた。なお、関連する特許としてここでのコマンド開始信号ＣＥに関連して、特願平１０−３３７１１４号（ＵＳ６，１８５，１５０B1）がある。また、ここでの例はクロックＣＫの立ち上がりのみを基準にする方式を示すが、クロックの立ち上がりと立ち下がりの両方を利用したり逆相の相補的なクロックを合わせて用いるＤＤＲなどとして同様のタイミングを規定するのは容易であるので述べない。
【０１８３】
コマンド開始信号ＣＥが“Ｈ”のクロックサイクルの次のサイクルがコマンドとアドレスの入力サイクルとなる。ＣＥのタイミング設定はすでに述べてあるので、ここではクロックエッジに対してｔＳとｔＨの規定のみを示した。クロックエッジに対して入力信号の規定はすべて同じでこのタイミング規定を用いる。ＣＥのレシーバは、毎クロックサイクルでアクティブで、ＣＥ＝“Ｈ”が検出されると一定期間非アクティブとなる。他のレシーバはこの一定期間のみアクティブとなる。
【０１８４】
信号Ｒ／Ｗは、次に始まる新しいバーストサイクルが読み出し（Ｒ）か、書き込み（Ｗ）かを示す。コマンド信号ＣＭＤは、３サイクルで３ビットのコード信号であり、そのビット情報ｃ０，ｃ１，ｃ２によって、動作モードが例えば図３４の表の様に、ノーマル（Normal）,割り込み（Interrupt）,終了（Stop）,リフレッシュ（Refresh）,繰り返し（Repeat）のように指定される。個々の動作モードについては既に説明した。
【０１８５】
信号Ａｄｄ_0〜Ａｄｄ_7は、バーストのアドレスとバーストサイクルの開始アドレスまたどの積層の層を選択するかのアドレスビット情報であり、５サイクルで４０ビットを入力する。それぞれのビットのサイクルと信号の位置は、図３３の波形図に示した通りであり、各ビットと各アドレスとの対応の一例を図の横に示した。
【０１８６】
バーストにはセルアレイブロックのアドレスも含まれるので、これにマット層（mat layer）のアドレス情報を加えても良いが、マット層は積層数を製造過程で容易に変更でき、ビット数がこれに伴い変わるのでアドレスビットとして分離している。
【０１８７】
メモリ制御に関係する信号、すなわちチップピンに入力される電源以外の信号をまとめると、次のようになる。
【０１８８】
ＣＫ：メモリを同期して制御する基本クロック。ＤＤＲではこれと相補的なクロックＣＫＢを合わせて入力したり、入出力データのストローブ信号ＤＱＳなどをチップに入出力するこことも考えられる。
【０１８９】
ＣＥ：信号のレシーバとデコーダが毎サイクル働いて電力を消費しないように、ひとつのレシーバのみを働かせてこの状態でコマンドやアドレスのレシーバやデコーダを活性化するためのコマンド開始信号。
【０１９０】
Ｒ／Ｗ：データ転送のモードの読み出し（Ｒ）と書き込み（Ｗ）かを選択する信号。
【０１９１】
Ａｄｄ_0〜Ａｄｄ_7：アドレスビットＡ0〜Ａ39を時分割する信号。
【０１９２】
ＩＯ0〜ＩＯ8又はＩＯ0〜ＩＯ15：データの入出力。
【０１９３】
ＤＴＸ_Ａ，ＤＴＸ_B：チップ内部の２系統のバッファレジスタのデータ転送状態を外部に知らせる内部状態信号。
【０１９４】
以上説明した実施の形態によれば、ＥＣＣによりデータの信頼性を確保しながら、高速のデータ転送を可能とした大容量ファイルメモリを得ることが出来る。
【図面の簡単な説明】
【０１９５】
【図１】実施の形態によるセルアレイブロックとその下地制御回路構成を示す図である。
【図２】同セルアレイブロック内のセルアレイ等価回路を示す図である。
【図３】同じくセンス系システムを示す図である。
【図４】同じく電流検出型センスアンプの構成を示す図である。
【図５】同センスアンプの動作波形を示す図である。
【図６】同じく書き込み制御回路の構成を示す図である。
【図７】書き込み制御回路の信号レベルを示す図である。
【図８】４Ｍｂセルアレイブロックとセンスアンプ及びデータバスとの関係を示す図である。
【図９】４Ｍｂ×４のブロック表示を示す図である。
【図１０】６８Ｍｂ／ｍａｔのセルアレイユニット表示を示す図である。
【図１１】（８Ｇｂ＋８３２Ｍｂ）×ｍのファイルメモリ構成例１を示す図である。
【図１２】（８Ｇｂ＋８３２Ｍｂ）×ｍのファイルメモリ構成例２を示す図である。
【図１３】メモリ構成例１，２のブロック表示を示す図である。
【図１４】ＥＣＣ回路のエンコード部ＥＮＣの構成を示す図である。
【図１５】ＥＣＣ回路のデコード部ＤＥＣの構成を示す図である。
【図１６】×８ＩＯの場合の書き込みデータ転送を説明するための図である。
【図１７】×１６ＩＯの場合の書き込みデータ転送を説明するための図である。
【図１８】×８ＩＯの場合の読み出しデータ転送を説明するめたの図である。
【図１９】×１６ＩＯの場合の読み出しデータ転送を説明するための図である。
【図２０】２系統のバッファレジスタによる外部データ転送と内部データ転送を説明するための図である。
【図２１】バーストデータ転送のインターリーブ動作を説明するための図である。
【図２２】同じくバーストデータ転送のタイミング仕様を示す図である。
【図２３】バーストサイクルの割り込み動作を説明するための図である。
【図２４】バーストサイクルの強制終了動作を説明するための図である。
【図２５】読み出しバースト後、ＥＣＣ回路を通さない書き込みデータ転送を行なう例を示す図である。
【図２６】書き込みバースト後、ＥＣＣ回路を通して書き込みデータ転送を行なう例を示す図である。
【図２７】バーストサイクルでの割り込み処理のタイミング仕様を説明するための図である。
【図２８】２系統のバッファレジスタによるバーストサイクルのインターリーブ動作を示す図である。
【図２９】バースト転送のシーケンス内にリフレッシュバーストサイクルを設定した例を示す図である。
【図３０】バースト転送のシーケンス内にマスク書き込みバーストサイクルを設定した例を示す図である。
【図３１】バースト転送のシーケンス内に繰り返し書き込みサイクルを設定した例を示す図である。
【図３２】バースト転送のシーケンス内に繰り返し読み出しサイクルを設定した例を示す図である。
【図３３】コマンド、バーストアドレスの取り込みのタイミング規定を説明するため図である。
【図３４】同じくコマンドのデータビット設定例を示す図である。
【符号の説明】
【０１９６】
１…セルアレイブロック、２…制御回路、３１…センスアンプ、３２…書き込み制御回路、１００…メモリコア、１１１…バッファレジスタ、１１２…ＥＣＣ回路、ＥＮＣ…エンコード部、ＤＥＣ…デコード部、ＲＥＧ１−ＲＥＧ４…バッファレジスタ、ＲＥＧ−Ａ，ＲＥＧ−Ｂ…２系統バッファレジスタ。Ｗｄｔ…ＥＣＣを通した書き込みデータ転送、Ｗｄｔ＊…ＥＣＣを通さない書き込みデータ転送、Ｒｄｔ…読み出しデータ転送。
【図１】
2010146654.tif 000003
【図２】
2010146654.tif 000004
【図３】
2010146654.tif 000005
【図４】
2010146654.tif 000006
【図５】
2010146654.tif 000007
【図６】
2010146654.tif 000008
【図７】
2010146654.tif 000009
【図８】
2010146654.tif 000010
【図９】
2010146654.tif 000011
【図１０】
2010146654.tif 000012
【図１１】
2010146654.tif 000013
【図１２】
2010146654.tif 000014
【図１３】
2010146654.tif 000015
【図１４】
2010146654.tif 000016
【図１５】
2010146654.tif 000017
【図１６】
2010146654.tif 000018
【図１７】
2010146654.tif 000019
【図１８】
2010146654.tif 000020
【図１９】
2010146654.tif 000021
【図２０】
2010146654.tif 000022
【図２１】
2010146654.tif 000023
【図２２】
2010146654.tif 000024
【図２３】
2010146654.tif 000025
【図２４】
2010146654.tif 000026
【図２５】
2010146654.tif 000027
【図２６】
2010146654.tif 000028
【図２７】
2010146654.tif 000029
【図２８】
2010146654.tif 000030
【図２９】
2010146654.tif 000031
【図３０】
2010146654.tif 000032
【図３１】
2010146654.tif 000033
【図３２】
2010146654.tif 000034
【図３３】
2010146654.tif 000035
【図３４】
2010146654.tif 000036