(57)【要約】【課題】不良率が低いメモリセルを用いた半導体記憶装置を提供することを目的とする。【解決手段】実施形態に係る半導体記憶装置は、複数の第１配線、前記第１配線に交差する複数の第２配線、並びに、前記複数の第１配線及び第２配線の交差部に設けられた複数のメモリセルからなるメモリセル層を有するメモリセルアレイを備え、前記メモリセルは、積層された複数のセルユニットを有し、前記セルユニットの異なる抵抗状態によってデータを記憶し、前記セルユニットは、第１極性の電圧が印加されると前記抵抗状態が高抵抗状態から低抵抗状態に遷移し、前記第１極性と異なる第２極性の電圧が印加されると前記抵抗状態が抵抵抗状態から高抵抗状態に遷移し、前記第１極性における電圧−電流特性と前記第２極性における電圧−電流特性とが非対象であることを特徴とする。【選択図】図１４
2013122797.tif 000002
【特許請求の範囲】
【請求項１】
複数の第１配線、前記第１配線に交差する複数の第２配線、並びに、前記複数の第１配線及び第２配線の交差部に設けられた複数のメモリセルからなるメモリセル層を有するメモリセルアレイと、
前記メモリセルにデータを書き込み、前記メモリセルからデータを読み出すアクセス回路と
を備え、
前記メモリセルは、積層された複数のセルユニットを有し、前記セルユニットの異なる抵抗状態によってデータを記憶し、
前記セルユニットは、
第１極性の電圧が印加されると前記抵抗状態が高抵抗状態から低抵抗状態に遷移し、前記第１極性と異なる第２極性の電圧が印加されると前記抵抗状態が抵抵抗状態から高抵抗状態に遷移し、
前記第１極性における電圧−電流特性と前記第２極性における電圧−電流特性とが非対象であり、
前記メモリセルは、前記セルユニットである第１セルユニット及び第２セルユニットを積層させた構造を持ち、
前記第１セルユニット及び前記第２セルユニットが共に低抵抗状態である第１状態、前記第１セルユニット及び第２セルユニットの一方が低抵抗状態であり他方が高抵抗状態である第２状態、並びに、前記第１セルユニット及び第２セルユニットが共に高抵抗状態である第３状態を有し、
前記アクセス回路は、前記メモリセルへのデータの書き込みの際、
前記メモリセルを前記第１状態に遷移させる初期状態設定を実行し、
前記メモリセルに前記第２状態又は前記第３状態を設定する場合、前記初期状態設定の実行後、更に、前記メモリセルを前記第２状態に遷移させる第２状態設定を実行し、
前記メモリセルに前記第３状態を設定する場合、前記第２状態設定の実行後、更に、前記メモリセルを前記第３状態に遷移させる第３状態設定を実行し、
前記アクセス回路は、前記メモリセルからのデータの読み出しの際、
前記メモリセルが前記第１状態か否かを判定する第１状態判定を実行し、
前記メモリセルが前記第１状態ではない場合、前記第１状態判定の実行後、第２状態の前記メモリセルを第１状態に遷移させる破壊読み出しによって当該メモリセルが前記第２状態か否かを判定する第２状態判定を実行し、
前記破壊読み出しによって前記メモリセルが前記第２状態から前記第１状態に遷移した場合、前記第２状態判定の実行後、前記メモリセルを前記第２状態に遷移させる第２状態再設定を実行し、
前記メモリセルである第１メモリセル及び第２メモリセルによってペアセルを構成し、
前記ペアセルは、前記第１メモリセル及び第２メモリセルの前記第１状態乃至前記第３状態からなる９通りの組み合わせに剰余体Ｚｐ（ｐは素数７）の各要素を対応付けてデータを記憶し、
６組の前記ペアセル単位で、エラー訂正可能なコードを記憶し、
前記ペアセルは、前記第１メモリセル及び第２メモリセルの前記第２状態及前記第３状態からなる４通りの組み合わせに、剰余体Ｚｐ（ｐは素数７）の隣り合う２つの要素を重複させて対応付ける
ことを特徴とする半導体記憶装置。
【請求項２】
複数の第１配線、前記第１配線に交差する複数の第２配線、並びに、前記複数の第１配線及び第２配線の交差部に設けられた複数のメモリセルからなるメモリセル層を有するメモリセルアレイを備え、
前記メモリセルは、積層された複数のセルユニットを有し、前記セルユニットの異なる抵抗状態によってデータを記憶し、
前記セルユニットは、
第１極性の電圧が印加されると前記抵抗状態が高抵抗状態から低抵抗状態に遷移し、前記第１極性と異なる第２極性の電圧が印加されると前記抵抗状態が抵抵抗状態から高抵抗状態に遷移し、
前記第１極性における電圧−電流特性と前記第２極性における電圧−電流特性とが非対象である
ことを特徴とする半導体記憶装置。
【請求項３】
前記メモリセルは、前記セルユニットである第１セルユニット及び第２セルユニットを積層させた構造を持ち、
前記第１セルユニット及び前記第２セルユニットが共に低抵抗状態である第１状態、前記第１セルユニット及び第２セルユニットの一方が低抵抗状態であり他方が高抵抗状態である第２状態、並びに、前記第１セルユニット及び第２セルユニットが共に高抵抗状態である第３状態を有する
ことを特徴とする請求項２記載の半導体記憶装置。
【請求項４】
前記メモリセルにデータを書き込むアクセス回路を備え、
前記アクセス回路は、
前記メモリセルを前記第１状態に遷移させる初期状態設定を実行し、
前記メモリセルに前記第２状態又は前記第３状態を設定する場合、前記初期状態設定の実行後、更に、前記メモリセルを前記第２状態に遷移させる第２状態設定を実行し、
前記メモリセルに前記第３状態を設定する場合、前記第２状態設定の実行後、更に、前記メモリセルを前記第３状態に遷移させる第３状態設定を実行する
ことを特徴とする請求項３記載の半導体記憶装置。
【請求項５】
前記メモリセルにデータを書き込むアクセス回路を備え、
前記アクセス回路は、
前記メモリセルを前記第２状態に遷移させる初期状態設定を実行し、
前記メモリセルに前記第１状態を設定する場合、前記初期状態設定の実行後、更に、前記メモリセルを前記第１状態に遷移させる第１状態設定を実行し、
前記メモリセルに前記第３状態を設定する場合、前記初期状態設定の実行後、更に、前記メモリセルを前記第３状態に遷移させる第３状態設定を実行する
ことを特徴とする請求項３記載の半導体記憶装置。
【請求項６】
前記メモリセルからデータを読み出すアクセス回路を備え、
前記アクセス回路は、
前記メモリセルが前記第１状態か否かを判定する第１状態判定を実行し、
前記メモリセルが前記第１状態ではない場合、前記第１状態判定の実行後、第２状態の前記メモリセルを第１状態に遷移させる破壊読み出しによって当該メモリセルが前記第２状態か否かを判定する第２状態判定を実行し、
前記破壊読み出しによって前記メモリセルが前記第２状態から前記第１状態に遷移した場合、前記第２状態判定の実行後、前記メモリセルを前記第２状態に遷移させる第２状態再設定を実行する
ことを特徴とする請求項３〜５のいずれか１項記載の半導体記憶装置。
【請求項７】
前記メモリセルである第１メモリセル及び第２メモリセルによってペアセルを構成し、
前記ペアセルは、前記第１メモリセル及び第２メモリセルの前記第１状態乃至前記第３状態からなる９通りの組み合わせに剰余体Ｚｐ（ｐは素数７）の各要素を対応付けてデータを記憶する
ことを特徴とする請求項３〜５のいずれか１項記載の半導体記憶装置。
【請求項８】
６組の前記ペアセル単位で、エラー訂正可能なコードを記憶する
ことを特徴とする請求項７記載の半導体記憶装置。
【請求項９】
前記ペアセルは、前記第１メモリセル及び第２メモリセルの前記第２状態及前記第３状態からなる４通りの組み合わせに、剰余体Ｚｐ（ｐは素数７）の隣り合う２つの要素を重複させて対応付ける
ことを特徴とする請求項８記載の半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
実施形態は、半導体記憶装置に関する。
【背景技術】
【０００２】
大容量データを記憶して利用するメモリとして、三次元化が容易な抵抗変化型メモリ（ＲｅＲＡＭ：Ｒｅｓｉｓｔｉｖｅ  ＲＡＭ）などが注目されている。これら抵抗変化型メモリの特徴は、メモリセルに印加する電圧の方向によって電圧−電流特性が大きく変わる非対称性にある。
【０００３】
しかし、製造不良によってこの非対称性が損なわれたメモリセルは、ある確率で出現する。このようなメモリセルがあると、三次元化されたクロスポイント型のメモリセルアレイの場合、電流のショート経路が出現してしまい、メモリセルアレイの大きな領域がアクセス不能になるため問題となる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−３３６７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
不良率が低いメモリセルを用いた半導体記憶装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
実施形態に係る半導体記憶装置は、複数の第１配線、前記第１配線に交差する複数の第２配線、並びに、前記複数の第１配線及び第２配線の交差部に設けられた複数のメモリセルからなるメモリセル層を有するメモリセルアレイを備え、前記メモリセルは、積層された複数のセルユニットを有し、前記セルユニットの異なる抵抗状態によってデータを記憶し、前記セルユニットは、第１極性の電圧が印加されると前記抵抗状態が高抵抗状態から低抵抗状態に遷移し、前記第１極性と異なる第２極性の電圧が印加されると前記抵抗状態が抵抵抗状態から高抵抗状態に遷移し、前記第１極性における電圧−電流特性と前記第２極性における電圧−電流特性とが非対象であることを特徴とする。
【図面の簡単な説明】
【０００７】
【図１】実施形態に係る半導体記憶装置の構成図である。
【図２】実施形態に係る半導体記憶装置のメモリセルアレイの一部の斜視図である。
【図３】実施形態に係る半導体記憶装置の構造図である。
【図４】実施形態に係る半導体記憶装置のメモリセルのセルユニットの回路記号及び電圧−電流特性を示す図である。
【図５】比較例に係る半導体記憶装置のメモリセルアレイの一部の等価回路図である。
【図６】比較例に係る半導体記憶装置のフローティングアクセス方式によるアクセス動作を説明する図である。
【図７】比較例に係る半導体記憶装置のフローティングアクセス方式によるホールド動作時のメモリセルアレイのバイアス状態を示す図である。
【図８】比較例に係る半導体記憶装置のフローティングアクセス方式によるアクセス動作のアクティブ・スタンバイ・フェーズ時のメモリセルアレイのバイアス状態を示す図である。
【図９】比較例に係る半導体記憶装置のフローティングアクセス方式による読み出し動作のアクセス・フェーズ時のメモリセルアレイのバイアス状態を示す図である。
【図１０】比較例に係る半導体記憶装置のフローティングアクセス方式によるセット動作のアクセス・フェーズ時のメモリセルアレイのバイアス状態を示す図である。
【図１１】比較例に係る半導体記憶装置のフローティングアクセス方式によるリセット動作のアクセス・フェーズ時のメモリセルアレイのバイアス状態を示す図である。
【図１２】比較例に係る半導体記憶装置のフローティングアクセス方式による読み出し動作におけるバタフライ化したメモリセルの影響を説明する図である。
【図１３】比較例に係る半導体記憶装置のフローティングアクセス方式によるセット動作におけるバタフライ化したメモリセルの影響を説明する図である。
【図１４】実施形態に係る半導体記憶装置のメモリセルの構造を説明する図である。
【図１５】実施形態に係る半導体記憶装置のＺｐの要素とペアセルの状態の対応付けを示す図である。
【図１６】実施形態に係る半導体記憶装置のＺｐの要素とペアセルの状態の対応付けを示す図である。
【図１７】実施形態に係る半導体記憶装置のメモリセルグループを説明する図である。
【図１８】実施形態に係る半導体記憶装置のフローティングアクセス方式によるホールド動作時のメモリセルアレイのバイアス状態を示す図である。
【図１９】実施形態に係る半導体記憶装置のフローティングアクセス方式によるアクセス動作のイニシャル・スタンバイ・フェーズ時のメモリセルアレイのバイアス状態を示す図である。
【図２０】実施形態に係る半導体記憶装置のフローティングアクセス方式によるアクセス動作のアクティブ・スタンバイ・フェーズ時のメモリセルアレイのバイアス状態を示す図である。
【図２１】実施形態に係る半導体記憶装置のフローティングアクセス方式による書き込み動作（‘２’状態設定）のアクセス・フェーズ時のメモリセルアレイのバイアス状態を示す図である。
【図２２】実施形態に係る半導体記憶装置のフローティングアクセス方式による書き込み動作（‘１’状態設定）のアクセス・フェーズ時のメモリセルアレイのバイアス状態を示す図である。
【図２３】実施形態に係る半導体記憶装置のフローティングアクセス方式による書き込み動作（‘０’状態設定）のアクセス・フェーズ時のメモリセルアレイのバイアス状態を示す図である。
【図２４】実施形態に係る半導体記憶装置のフローティングアクセス方式による読み出し動作のアクセス・フェーズ時のメモリセルアレイのバイアス状態を示す図である。
【図２５】実施形態に係る半導体記憶装置のフローティングアクセス方式による書き込み動作（初期状態設定）時の正常なメモリセルの状態遷移を示す図である。
【図２６】実施形態に係る半導体記憶装置のフローティングアクセス方式による書き込み動作（初期状態設定）時のバタフライ化したセルユニットを持つメモリセルの状態遷移を示す図である。
【図２７】実施形態に係る半導体記憶装置のフローティングアクセス方式による書き込み動作（初期状態設定）時のバタフライ化したセルユニットを持つメモリセルの状態遷移を示す図である。
【図２８】実施形態に係る半導体記憶装置のフローティングアクセス方式による書き込み動作（‘２’状態設定）時の正常なメモリセルの状態遷移を示す図である。
【図２９】実施形態に係る半導体記憶装置のフローティングアクセス方式による書き込み動作（‘２’状態設定）時のバタフライ化したセルユニットを持つメモリセルの状態遷移を示す図である。
【図３０】実施形態に係る半導体記憶装置のフローティングアクセス方式による書き込み動作（‘１’状態設定）時の正常なメモリセルの状態遷移を示す図である。
【図３１】実施形態に係る半導体記憶装置のフローティングアクセス方式による書き込み動作（‘１’状態設定）時のバタフライ化したセルユニットを持つメモリセルの状態遷移を示す図である。
【図３２】実施形態に係る半導体記憶装置のフローティングアクセス方式による書き込み動作（‘０’状態設定）時の正常なメモリセルの状態遷移を示す図である。
【図３３】実施形態に係る半導体記憶装置のフローティングアクセス方式による書き込み動作（‘０’状態設定）時のバタフライ化したセルユニットを持つメモリセルの状態遷移を示す図である。
【図３４】実施形態に係る半導体記憶装置の書き込み動作の書き込みシーケンスの一例を示す図である。
【図３５】実施形態に係る半導体記憶装置のフローティングアクセス方式による読み出し動作の‘０’状態判定ステップ後のメモリセルアレイのバイアス状態を示す図である。
【図３６】実施形態に係る半導体記憶装置のフローティングアクセス方式による読み出し動作の前‘１’状態判定ステップ時のメモリセルアレイのバイアス状態を示す図である。
【図３７】実施形態に係る半導体記憶装置のフローティングアクセス方式による読み出し動作の‘１’状態判定ステップ時のメモリセルアレイのバイアス状態を示す図である。
【図３８】実施形態に係る半導体記憶装置のフローティングアクセス方式による読み出し動作時の選択ビット線及び選択ワード線間の選択メモリセルの状態遷移を示す図である。
【図３９】実施形態に係る半導体記憶装置のフローティングアクセス方式による読み出し動作時の選択ビット線及び非選択ワード線間の非選択メモリセルの状態遷移を示す図である。
【図４０】実施形態に係る半導体記憶装置のフローティングアクセス方式による読み出し動作時の非選択ビット線及び選択ワード線間の非選択メモリセルの状態遷移を示す図である。
【図４１】実施形態に係る半導体記憶装置のフローティングアクセス方式による読み出し動作時の非選択ビット線及び非選択ワード線間の非選択メモリセルの状態遷移を示す図である。
【図４２】実施形態に係る半導体記憶装置のフローティングアクセス方式による読み出し動作の‘１’状態判定ステップ後のメモリセルアレイのバイアス状態を示す図である。
【図４３】実施形態に係る半導体記憶装置のフローティングアクセス方式による読み出し動作の前‘１’状態再設定ステップ時のメモリセルアレイのバイアス状態を示す図である。
【図４４】実施形態に係る半導体記憶装置のフローティングアクセス方式による読み出し動作の‘１’状態再設定ステップ時のメモリセルアレイのバイアス状態を示す図である。
【図４５】実施形態に係る半導体記憶装置のメモリセルアレイにおける欠陥発生時の処理方法を説明する図である。
【図４６】実施形態に係る半導体記憶装置におけるペアセルの構成例を説明する図である。
【図４７】実施形態に係る半導体記憶装置におけるペアセルの構成例を説明する図である。
【図４８】実施形態に係る半導体記憶装置におけるペアセルの構成例を説明する図である。
【図４９】実施形態に係る半導体記憶装置における複数のメモリセルに対する並列アクセスを説明する図である。
【図５０】実施形態に係る半導体記憶装置の構成例のブロック図である。
【図５１】実施形態に係る半導体記憶装置のＥＣＣシステム（ε＝１）の機能ブロック図である。
【図５２】実施形態に係る半導体記憶装置のＥＣＣシステム（ε＝２）の機能ブロック図である。
【図５３】実施形態に係る半導体記憶装置に７進数変換部の構成を模式的に示した図である。
【図５４】実施形態に係る半導体記憶装置の７進数変換部の構成を示す図である。
【図５５】実施形態に係る半導体記憶装置の“Ｘ  ｔｏ  ｐ”回路ブロックの構成を示す図である。
【図５６】実施形態に係る半導体記憶装置の“Ｘ  ｔｏ  ｐ”回路ブロックの回路記号を示す図である。
【図５７】実施形態に係る半導体記憶装置の“４  ｂｉｔ  ｍｏｄ  ７”回路ブロックの回路記号を示す図である。
【図５８】実施形態に係る半導体記憶装置の“４  ｂｉｔ  ｍｏｄ  ７”回路ブロックのブロック図である。
【図５９】実施形態に係る半導体記憶装置の“ｐ−ａｄｉｃ”回路ブロックの回路記号を示す図である。
【図６０】実施形態に係る半導体記憶装置の“ｐ−ａｄｉｃ”回路ブロックのブロック図である。
【図６１】実施形態に係る半導体記憶装置の７進数変換部のブロック図である。
【図６２】実施形態に係る半導体記憶装置の“Ｄ−ｒ”レジスタの回路図である。
【図６３】実施形態に係る半導体記憶装置の７進数変換部の制御信号のタイミング図である。
【図６４】実施形態に係る半導体記憶装置の２４進数変換部の構成を模式的に示した図である。
【図６５】実施形態に係る半導体記憶装置の２４進数変換部の構成を示す図である。
【図６６】実施形態に係る半導体記憶装置の“ａ  ｔｏ  Ｘ”回路ブロックの構成を示す図である。
【図６７】実施形態に係る半導体記憶装置の“ａ  ｔｏ  Ｘ”回路ブロックの回路記号を示す図である。
【図６８】実施形態に係る半導体記憶装置の“４  ｂｉｔ  ａｄｄ  ７”回路ブロックの回路記号である。
【図６９】実施形態に係る半導体記憶装置の“４  ｂｉｔ  ａｄｄ  ７”回路ブロックのブロック図である。
【図７０】実施形態に係る半導体記憶装置の“ｐ  ｔｏ  Ｘ”回路ブロックの回路記号を示す図である。
【図７１】実施形態に係る半導体記憶装置の“ｐ  ｔｏ  Ｘ”回路ブロックのブロック図である。
【図７２】実施形態に係る半導体記憶装置の“ｂｉｎａｒｙ”回路ブロックの回路記号である。
【図７３】実施形態に係る半導体記憶装置の“ｂｉｎａｒｙ”回路ブロックのブロック図である。
【図７４】実施形態に係る半導体記憶装置の２３進数変換部のブロック図である。
【図７５】実施形態に係る半導体記憶装置の“Ａ−４”レジスタの回路図である。
【図７６】実施形態に係る半導体記憶装置のメモリコントローラにおけるデータ処理のフローチャートである。
【図７７】実施形態に係る半導体記憶装置のメモリコントローラにおけるデータ処理のフローチャートである。
【図７８】実施形態に係る半導体記憶装置の“Ｘ  Ｚｐ”回路ブロックの回路記号を示す図である。
【図７９】実施形態に係る半導体記憶装置の“Ｘ  Ｚｐ”回路ブロックのブロック図である。
【図８０】実施形態に係る半導体記憶装置の“３  ｂｉｔ  ＡＤ  ｍｏｄ  ７”回路ブロック及び“３  ｂｉｔ  ＡＤ（８）  ｍｏｄ  ７”回路ブロックの回路記号を示す図である。
【図８１】実施形態に係る半導体記憶装置の“３  ｂｉｔ  ＡＤ  ｍｏｄ  ７”回路ブロック及び“３  ｂｉｔ  ＡＤ（８）  ｍｏｄ  ７”回路ブロックのブロック図である。
【図８２】実施形態に係る半導体記憶装置のＺｐの要素の累乗を求めるデコーダに用いる対応表である。
【図８３】実施形態に係る半導体記憶装置のＺｐの要素の逆元を求めるデコーダに用いる対応表である。
【図８４】実施形態に係る半導体記憶装置のエンコーダ部のブロック図である。
【図８５】実施形態に係る半導体記憶装置のシンドローム成分要素生成回路のブロック図である。
【図８６】実施形態に係る半導体記憶装置の“ｃ（ｍ−１）ｊ”回路ブロックの回路記号を示す図である。
【図８７】実施形態に係る半導体記憶装置の“ｃ（ｍ−１）ｊ”回路ブロックのブロック図である。
【図８８】実施形態に係る半導体記憶装置の“ａｍ”回路ブロックの回路記号を示す図である。
【図８９】実施形態に係る半導体記憶装置の“ａｍ”回路ブロックのブロック図である。
【図９０】実施形態に係る半導体記憶装置の“ｃ／ａｍ”回路ブロックの回路記号を示す図である。
【図９１】実施形態に係る半導体記憶装置の“ｃ／ａｍ”回路ブロックのブロック図である。
【図９２】実施形態に係る半導体記憶装置の逆変換回路のブロック図である。
【図９３】実施形態に係る半導体記憶装置の“３  ｂｉｔ  ＬＭ７”回路ブロックの回路記号を示す図である。
【図９４】実施形態に係る半導体既往装置の“３  ｂｉｔ  ＬＭ７”回路ブロックのブロック図である。
【発明を実施するための形態】
【０００８】
以下、図面を参照しながら実施形態に係る半導体記憶装置について説明する。
【０００９】
［半導体記憶装置の概要］
図１は、実施形態に係る半導体記憶装置の構成図である。この半導体記憶装置は、メモリセルアレイ１を備える。メモリセルアレイ１は、複数積層されたメモリセルマットＭＭ（メモリセル層）を有する。各メモリセルマットＭＭは、複数のビット線ＢＬ（第１配線）及び複数のワード線ＷＬ（第２配線）と、これらワード線ＷＬ及びビット線ＢＬで選択されるメモリセルＭＣを有する。
【００１０】
メモリセルマットＭＭのビット線ＢＬには、ビット線ＢＬを制御し、メモリセルＭＣのデータ消去、メモリセルＭＣへのデータ書き込み及びメモリセルＭＣからのデータ読み出しをするカラム制御回路２が電気的に接続されている（以下において、メモリセルＭＣのデータ消去及びメモリセルＭＣへのデータ書き込みをまとめて「書き込み動作」と呼び、メモリセルＭＣからのデータ読み出しを「読み出し動作」と呼ぶ。また、書き込み動作及び読み出し動作をまとめて「アクセス動作」と呼ぶ）。カラム制御回路２には、アクセス動作に必要な電圧をビット線ＢＬに供給するビット線ドライバ２´と、読み出し動作時にメモリセルＭＣに流れる電流を検知・増幅してメモリセルＭＣが記憶するデータを判定するセンスアンプＳＡを有する。
【００１１】
一方、メモリセルマットＭＭのワード線ＷＬには、アクセス動作時にワード線ＷＬを選択するロウ制御回路３が電気的に接続されている。ロウ制御回路３は、アクセス動作に必要な電圧をワード線ＷＬに供給するワード線ドライバ３´を有する。なお、このロウ制御回路３は、カラム制御回路２と共にアクセス回路に含まれる。
【００１２】
図２は、メモリセルアレイ１の一部を示す斜視図である。
メモリセルアレイ１は、クロスポイント型のメモリセルアレイである。メモリセルアレイ１のメモリセルマットＭＭは、平行に配設された複数のビット線ＢＬと、これらビット線ＢＬと交差する方向に平行に配設された複数のワード線ＷＬを有する。ビット線ＢＬ及びワード線ＷＬの各交差部には、両配線に挟まれるようにメモリセルＭＣが設けられている。メモリセルアレイ１は、前述の通り、このような複数のメモリセルマットＭＭが多層に積層されており、上下に隣接するメモリセルマットＭＭ同士は、ワード線ＷＬ或いはビット線ＢＬを共有している。図２の場合、メモリセルアレイ１の最下層のメモリセルマットＭＭ０と、このメモリセルマットＭＭ０の上に隣接するメモリセルマットＭＭ１は、ビット線ＢＬ００〜ＢＬ０２を共有している。
【００１３】
なお、以下において、例えば、ビット線ＢＬ００、ＢＬ１０及びＢＬ２０のように、各メモリセルマットＭＭにおける同じ位置に配設されたビット線ＢＬのまとまりを「ビット線グループ」と呼ぶ。同様に、ワード線ＷＬ００及びＷＬ１０のように、各メモリセルマットＭＭにおける同じ位置に配設されたワード線ＷＬのまとまりを「ワード線グループ」と呼ぶ。また、１つのビット線グループ及び１つのワード線グループの交差部に配置されたメモリセルＭＣのまとまりを「メモリセルグループ」と呼ぶ。
【００１４】
以上説明したクロスポイント型のメモリセルアレイ１の場合、ビット線ドライバ２´、センスアンプＳＡ、ワード線ドライバ３´、バスＢＵＳ等の周辺回路は、図３に示すように、メモリセルアレイ１の直下のシリコン基板に形成可能であり、これによって、この半導体記憶装置のチップ面積は、ほぼメモリセルアレイ１の面積に等しくすることができる。
【００１５】
［セルユニットの特性］
ここでは、実施形態に係るメモリセルＭＣを構成するセルユニットについて説明する。
【００１６】
図４中（Ａ）は、セルユニットＣＵの回路記号を示す図であり、図４中（Ｂ）は、セルユニットＣＵの電圧−電流特性を示す図である。以下では、図４中（Ａ）に示すノードＮａを「アノード」、ノードＮｃを「カソード」と呼ぶことにする。また、図４中（Ａ）の矢印で示されたアノードＮａからカソードＮｃに向かう方向を「順方向」、その逆の方向を「逆方向」と呼ぶ。したがって、アノードＮａよりもカソードＮｃの電圧が小さいバイアスが順方向バイアス（第１極性）となり、アノードＮａよりもカソードＮｃの電圧が大きいバイアスが逆方向バイアス（第２極性）となる。
【００１７】
セルユニットＣＵは、可変抵抗素子からなり、この可変抵抗素子の異なる抵抗状態によってデータを記憶する。以下では、可変抵抗素子が高抵抗状態であるセルユニットＣＵの状態を「リセット状態」、可変抵抗素子が低抵抗状態であるセルユニットＣＵの状態を「セット状態」と呼ぶ。また、リセット状態のセルユニットＣＵをセット状態に遷移させる動作を「セット動作」、セット状態のセルユニットＣＵをリセット状態に遷移させる動作を「リセット動作」と呼ぶ。したがって、書き込み動作は、「セット動作」及び「リセット動作」を含むものである。
【００１８】
このセルユニットＣＵは、個体電解質の性質を有する。これは、図４中（Ｂ）に示すように、バイアスの方向（印加電圧の極性）によって電圧−電流特性が非対称となる性質である。図４中（Ｂ）から分かるように、セルユニットＣＵの電圧−電流特性は、印加電圧Ｖ＝０の近傍を除いて、セル電流は、Ｉ〜Ａ  ｅｘｐ（αＶ）（Ａ、αは定数）で近似することができる。リセット状態のセルユニットＣＵに順方向バイアスをかけた場合、リセット状態のセルユニットＣＵに逆方向バイアスをかけた場合及びセット状態のセルユニットＣＵに逆方向バイアスをかけた場合の係数αは同程度となる。これに対して、セット状態のセルユニットＣＵに順方向バイアスをかけた場合の係数αは格段に大きくなる。なお、印加電圧Ｖ＝０の近傍では、ｌｎ  Ｉは、±∞になる。
【００１９】
リセット状態のセルユニットＣＵに順方向バイアスをかけた場合、印加電圧Ｖが０Ｖ近傍からセット電圧Ｖｓｅｔまでの範囲では、セルユニットＣＵはリセット状態のままであり、セルユニットＣＵに流れるセル電流Ｉは印加電圧Ｖの変化に応じて可逆的に変化する（矢印ａ０）。そして、印加電圧Ｖがセット電圧Ｖｓｅｔ以上になると、セルユニットＣＵの状態は、リセット状態からセット状態に非可逆的に遷移する（セット動作）（矢印ａ１）。
【００２０】
一方、セット状態のセルユニットＣＵに順方向バイアスをかけた場合、セルユニットＣＵに流れるセル電流Ｉは印加電圧Ｖの変化に応じて可逆的に変化する（矢印ａ２）。しかし、セット状態のセルユニットＣＵは、順方向バイアスをかけている限り、印加電圧Ｖを大きくしていってもリセット状態に遷移しない。
【００２１】
リセット状態のセルユニットＣＵに逆方向バイアスをかけた場合、セルユニットＣＵに流れるセル電流Ｉは印加電圧Ｖの変化に応じて可逆的に変化する（矢印ａ３）。しかし、リセット状態のセルユニットＣＵは、逆方向バイアスをかけている限り、印加電圧Ｖを大きくしていってもセット状態に遷移しない。
【００２２】
一方、セット状態のセルユニットＣＵに逆方向バイアスをかけた場合、印加電圧が０Ｖからこの逆方向バイアスが０Ｖから電圧−Ｖｒｅｓｅｔ（以下では、Ｖｒｅｓｅｔを、「リセット電圧」と呼ぶ）までの範囲では、セルユニットＣＵはセット状態のままであり、セルユニットＣＵに流れるセル電流Ｉは印加電圧Ｖの変化に応じて可逆的に変化する（矢印ａ３）。そして、印加電圧Ｖが電圧−Ｖｒｅｓｅｔ以下になると、セルユニットＣＵの状態は、セット状態からリセット状態に非可逆的に遷移する（リセット動作）。
【００２３】
［比較例に係る半導体記憶装置のアクセス動作］
ここでは、実施形態に対する比較例となる半導体記憶装置のアクセス動作について説明する。この比較例に係る半導体記憶装置のメモリセルＭＣ´は、図４を用いて説明したセルユニットＣＵを１個で構成する。
【００２４】
図５は、比較例のメモリセルアレイの一部であり、メモリセルグループＭＧの等価回路図である。比較例に係るメモリセルＭＣ´を用いて三次元構造を有するクロスポイント型のメモリセルアレイを構成する場合、図５に示すように、メモリセルＭＣの上下が１層毎に反転するように、メモリセルマットＭＭを積層させる。例えば、メモリセルマットＭＭ０のメモリセルＭＣ´０２０と、メモリセルマットＭＭ０の上に隣接するメモリセルマットＭＭ１のメモリセルＭＣ´１２０は、メモリセルマットＭＭ０及びＭＭ１が共有するビット線ＢＬ００を挟んで上下が反転して配置されている。これは、上下に隣接するメモリセルマットＭＭで、ビット線ＢＬ或いはワード線ＷＬを共有させる場合でも、全てのメモリセルマットＭＭにおいて、ビット線ＢＬからワード線ＷＬに向かう方向が順方向となるようにメモリセルＭＣ´を設けるためである。
【００２５】
以上、セルユニットＣＵの特性と、このセルユニットＣＵが１個で構成された比較例に係るメモリセルＭＣ´を用いた場合のメモリセルアレイの構造について説明した。
【００２６】
しかし、セルユニットＣＵ（比較例の場合、メモリセルＭＣ´自体）は、セット電圧Ｖｓｅｔの過印加等があった場合、逆方向の電圧−電流特性（以下、「リバース特性」と呼ぶ）が、図４中Ｂの一点鎖線で示すように、順方向の電圧−電流特性（以下、「フォワード特性」と呼ぶ）とほぼ同じ状態になることがある。このようなリバース特性になったセルユニットＣＵは、セルユニットＣＵのアノードＮａに対するカソードＮｃの電圧が正の場合と負に場合で、同じ電流立ち上がりを示す。
【００２７】
このように変化したセルユニットＣＵの特性は、そのグラフの形状がチョウのハネの様な形状となる。そこで、以下では、このようにセルユニットＣＵの特性が変化することを「バタフライ化」と呼ぶ。
【００２８】
バタフライ化したセルユニットＣＵの特性は、逆方向バイアスを掛けた場合の電流特性の係数をαｒｅｖ、セット動作時の電流特性の係数をαｓｅｔとすると、αｒｅｖ〜αｓｅｔで表わすことができる。つまり、バタフライ化したセルユニットＣＵは、本来持つべき非対称性の電圧−電流特性が損なわれた状態となる。
【００２９】
このように、セルユニットＣＵ（比較例の場合、メモリセルＭＣ´自体）がバタフライ化した場合、アクセス動作時において問題が生じてしまう。そこで、次は、この問題を説明する前提として、比較例に係るアクセス動作について説明する。
【００３０】
比較例に係るアクセス動作では、メモリセルマットＭＭの所定のメモリセルＭＣ´を選択する際、この選択メモリセルＭＣ´に接続されたビット線ＢＬ及びワード線ＷＬにアクセス動作に必要な電圧を印加すると共に、他のビット線ＢＬ及びワード線ＷＬをフローティング状態にする。ここで、フローティング状態とは、外部から一定電圧を印加していない状態をいう。したがって、アクセスしないメモリセルＭＣ´に接続されたビット線ＢＬ及びワード線ＷＬのいずれか一方がをフローティング状態となる。以下では、選択メモリセルに接続されたビット線を「選択ビット線」、選択メモリセルに接続されたワード線を「選択ワード線」、選択メモリセルに接続されていないビット線を「非選択ビット線」、選択メモリセルに接続されていないワード線を「非選択ワード線」、非選択ビット線及び非選択ワード線の少なくとも一方に接続されたメモリセルを「非選択メモリセル」と呼ぶこともある。
【００３１】
始めに、この方法によって、選択メモリセルＭＣ´にアクセスできる根拠について説明する。なお、メモリセルＭＣ´（セルユニットＣＵ）のアノード側にはビット線ＢＬ、カソード側にはワード線ＷＬが接続されているものとする。したがって、ビット線ＢＬに高電圧、ワード線ＷＬに低電圧を印加すると、メモリセルＭＣ´に順方向バイアスがかかる。
【００３２】
比較例の場合、ビット線ＢＬ及びワード線ＷＬは、上下に隣接するメモリセルマットＭＭで共有されている。所定のメモリセルマットＭＭのメモリセルＭＣ´を１つ選択する場合、この選択メモリセルＭＣ´をクロスポイントに持つ選択ビット線ＢＬ、選択ワード線ＷＬをビット線ドライバ２´、ワード線ドライバ３´でドライブさせるが、この時にメモリセルアレイ１に生じる電流パスは次のようになる。
【００３３】
つまり、選択ビット線ＢＬ及び選択ワード線ＷＬの交差部のメモリセルＭＣ´が選択されると、ビット線ＢＬ及びワード線ＷＬが上下に隣接するセルアレイマットＭＭで上下逆に使用されていることから、選択ビット線ＢＬから選択ワード線ＷＬに向かう電流パスは、選択メモリセルＭＣ´を通る電流パスを除き、最低３つの非選択メモリセルＭＣ´を通る（以下では、非選択メモリセルＭＣ´を３つだけ通る最短の電流パスを「最短電流パス」と呼ぶこともある）。この場合、最短電流パスが２番目に通る非選択メモリセルＭＣ´には逆方向バイアスがかかる。
【００３４】
例えば、図６に示すメモリセルアレイ１の場合、ビット線ＢＬ２１及びワード線ＷＬ１１の交差部にあるメモリセルＭＣ´２１１を選択メモリセルとする場合について考える。
【００３５】
選択ビット線ＢＬ２１を電位Ｕｓ、選択ワード線ＷＬ１１を電位Ｕｓよりも低い電位Ｗｓに設定する。ここで、電圧Ｕｓ−Ｗｓは、メモリセルＭＣ´のアクセス動作に必要な電圧である。この時、選択ビット線ＢＬ２１から選択ワード線ＷＬ１１に向けて、いくつかの電流パスができる。電流パスＰ０は、選択メモリセルＭＣ´２１１を介して選択ビット線ＢＬ２１から選択ワード線ＷＬ１１に向かう電流パスである。この電流パスＰ０によって、選択メモリセルＭＣ´２１１には、電圧Ｕｓ−Ｗｓ程度の順方向バイアスがかかる。電流パスＰ１は、非選択メモリセルＭＣ´２２１、ＭＣ´１２１及びＭＣ´１１１を介して選択ビット線ＢＬ２１から選択ワード線ＷＬ１１に向かう最短電流パスである。この電流パスＰ１によって、メモリセルＭＣ´１２１には、逆方向バイアスがかかる。そのため、メモリセルＭＣ´２２１及びＭＣ´１１１には、電圧Ｕｓ−Ｗｓよりも小さい電圧しか印加されない。また、電流パスＰ２は、メモリセルＭＣ´３２１、ＭＣ´３２２及びＭＣ´２１２を介して選択ビット線ＢＬ２１から選択ワード線ＷＬ１１に向かう最短電流パスである。この電流パスＰ２によって、メモリセルＭＣ´３２２には、逆方向バイアスが加わる。そのため、メモリセルＭＣ´３２１及びＭＣ´２１２には、電圧Ｕｓ−Ｗｓよりも小さい電圧しか印加されない。つまり、全ての非選択メモリセルＭＣ´には、選択メモリセルＭＣ´に印加される電圧よりも小さい電圧しか印加されないことが保証される。
【００３６】
非選択メモリセルＭＣ´に印加される電圧は、ビット線ドライバ２´及びワード線ドライバ３´から選択ビット線ＢＬ及び選択ワード線ＷＬ間に印加された電圧が複数の非選択メモリセルＭＣ´によって分圧された電圧であり、セルアレイマットＭＭの場所毎に自己整合的に決まる。
【００３７】
従来のクロスポイント型のメモリセルアレイの場合、非選択メモリセルに対して一定のバイアスをかけることで、非選択メモリセルへの誤ったアクセス動作を回避していた。この場合、最短電流パスの中間点が固定電圧となる。そのため、メモリセルマット内で配置された場所によっては、非選択メモリセルにかなり大きなバイアスがかかる。その結果、自己整合的な状況が破壊され、非選択メモリセルには、強制的にセル電流が流されることになる。
【００３８】
その点、比較例の場合、非選択ビット線ＢＬ及び非選択ワード線ＷＬをフローティング状態にする。これによって、選択ビット線ＢＬ及び選択ワード線ＷＬに設定される電位のみ固定され、この状況において、メモリセルアレイ１は、非選択メモリセルＭＣ´に流れる総セル電流が最低になるような電圧分布に自己整合的に落ち着く。その結果、アクセス動作時のメモリセルアレイ１の消費電流を従来の半導体記憶装置に比べて小さくすることができる。
【００３９】
以下では、このようなアクセス動作の方式を「フローティングアクセス方式」と呼ぶ。
【００４０】
次に、フローティングアクセス方式によるメモリセルＭＣ´へのアクセス手順について説明する。ここでは、簡単な例として、３×３のメモリセルマットＭＭを積層させたメモリセルアレイ１を対象とし、メモリセルマットＭＭ２のビット線ＢＬ２１及びワード線ＷＬ１１の交差部に設けられたメモリセルＭＣ´２１１にアクセスする場合について説明する。
【００４１】
比較例に係る半導体記憶装置の動作には、前述のアクセス動作の他、メモリセルＭＣ´のデータを維持する「ホールド動作」がある。
【００４２】
図７は、ホールド動作時のメモリセルアレイ１のバイアス状態を示す図である。
ホールド動作では、全てのビット線ＢＬ及びワード線ＷＬを接地電位程度の電位Ｖｓに設定する。その結果、いずれのメモリセルＭＣ´にもバイアスは掛からず、メモリセルＭＣ´の抵抗状態は維持される。
【００４３】
続いて、アクセス動作について説明する。アクセス動作には、前述の通り、書き込み動作と読み出し動作があり、更に書き込み動作には、セット動作及びリセット動作がある。比較例に係るアクセス動作は、アクティブ・スタンバイ・フェーズ及びアクセス・フェーズからなるアクセスシーケンスによって実現される。
【００４４】
図８は、アクセス動作のアクティブ・スタンバイ・フェーズ時のメモリセルアレイ１のバイアス状態を示す図である。
【００４５】
アクティブ・スタンバイ・フェーズでは、メモリセルアレイ１の全てのビット線ＢＬ及びワード線ＷＬを所定の電位Ｖに設定する。この電位Ｖは、書き込み動作（セット動作及びリセット動作）及び読み出し動作で異なる値を取る。書き込み動作の場合、電位Ｖは、セット電位Ｖｓｅｔ、リセット電位Ｖｒｅｓｅｔ、或いはそれらに近い電位Ｖｄの半分程度にあたる電位（〜Ｖｓｅｔ／２、〜Ｖｒｅｓｅｔ／２、或いは〜Ｖｄ／２）となる。一方、読み出し動作の場合、電位Ｖは、アクセス電位Ｖａｃｃと同程度の電位となる。なお、アクセス電位Ｖａｃｃは、読み出し動作時に選択ビット線ＢＬに設定する電位であり、セット電位Ｖｓｅｔ及びリセット電位Ｖｒｅｓｅｔよりも小さく、メモリセルＭＣの状態が遷移しない程度の電位である。このアクティブ・スタンバイ状態でも、ホールド状態と同様、いずれのメモリセルＭＣ´にもバイアスは掛からない。
【００４６】
図９は、読み出し動作のアクセス・フェーズ時のメモリセルアレイ１のバイアス状態を示す図である。
【００４７】
読み出し動作のアクセス・フェーズでは、選択ビット線ＢＬ２１をクセス電位Ｖａｃｃ、選択ワード線ＷＬ１１を電位Ｖｓに設定する一方、非選択ビット線ＢＬ及び非選択ワード線ＷＬをフローティング状態にする。図９では、フローティング状態のビット線ＢＬ及びワード線ＷＬの電位をＶ〜で表わしている。なお、アクセス電位Ｖａｃｃは、セット電位Ｖｓｅｔやリセット電位Ｖｒｅｓｅｔよりも小さく、メモリセルＭＣの状態が遷移しない程度のレベルである。
【００４８】
アクティブ・スタンバイ・フェーズにおいて全てのビット線ＢＬ及びワード線ＷＬは、予め電位Ｖ＝Ｖａｃｃに設定されている。そのため、選択ビット線ＢＬ２１からフローティング状態の非選択ビット線ＢＬ及び非選択ワード線ＷＬに対して充電されることはない。その結果、選択ビット線ＢＬ２１には、選択メモリセルＭＣ´２１１のデータに応じたセル電流が素早く現れる。この選択ビット線ＢＬ２１に流れるセル電流をセンスアンプＳＡで検知することで選択メモリセルＭＣ´２１１の状態（セット状態又はリセット状態）を判定することができる。メモリセルＭＣ´のセット状態、リセット状態は、それぞれ‘０’、‘１’に対応しているため、メモリセルＭＣ´の状態を判定すれば選択メモリセルＭＣ´２１１の記憶データを読み出すことができる。
【００４９】
フローティング状態（電位Ｖ〜）のビット線ＢＬ及びワード線ＷＬの電位は、メモリセルアレイ１におけるメモリセルＭＣの配置場所に応じて自己整合的に所定の値に落ち着くが、その過程において、非選択メモリセルＭＣにも電流が流れる。この非選択メモリセルＭＣに流れる電流は、大別して間接順方向電流、間接逆方向電流に分類することができる。最短電流パスを流れる電流が途中の非選択メモリセルを順方向に通過する場合、この非選択メモリセルを「間接順方向電流が流れるメモリセル」と言い、最短電流パスを流れる電流が途中の非選択メモリセルを逆方向に通過する場合、この非選択メモリセルを「間接逆方向電流が流れるメモリセル」と言う。図９では、選択メモリセルＭＣの流れるセル電流を白抜き矢印、間接順方向電流が流れる非選択メモリセルＭＣを実線矢印、間接逆方向電流が流れる非選択メモリセルＭＣを点線矢印でそれぞれ示している。白抜き矢印、実線矢印及び点線矢印は、いずれも電流が流れる向きも示している。
【００５０】
例えば、非選択メモリセルＭＣ´２０１、ＭＣ´２０２及びＭＣ´２１２を介して選択ビット線ＢＬ２１から選択ワード線ＷＬ１１に向かう最短電流パスＰ０について見ると、非選択メモリセルＭＣ´２０１及びＭＣ´２１２に間接順方向電流が流れ、非選択メモリセルＭＣ´２０２に間接逆方向電流が流れることになる。
【００５１】
つまり、選択ビット線ＢＬ２１又は選択ワード線ＷＬ１１に接続された非選択メモリセルＭＣ´に間接順方向電流が流れ、これら間接順方向電流が流れるメモリセルＭＣ´と同じ非選択ビット線ＢＬ又は非選択ワード線ＷＬに接続された非選択メモリセルＭＣ´に間接逆方向電流が流れることが分かる。また、間接順方向電流又は間接逆方向電流が流れる非選択メモリセルＭＣ´は、選択メモリセルＭＣ´２１１が属するメモリセルマットＭＭ２並びに、このメモリセルマットＭＭ２の上下に隣接するメモリセルマットＭＭ１及びＭＭ３の範囲にのみ存在し、メモリセルマットＭＭ２に隣接しないメモリセルマットＭＭ０には存在しないことが分かる。
【００５２】
図１０は、セット動作のアクセス・フェーズ時のメモリセルアレイ１のバイアス状態を示す図である。
【００５３】
セット動作のアクセス・フェーズでは、選択ビット線ＢＬ２１をセット電位Ｖｓｅｔ、選択ワード線ＷＬ１１を電位Ｖｓに設定する一方、非選択ビット線ＢＬ及び非選択ワード線ＷＬはフローティング状態とする。
【００５４】
アクティブ・スタンバイ・フェーズにおいて全てのビット線ＢＬ及びワード線ＷＬは、予め電位Ｖ＝〜Ｖｓｅｔ／２に設定されている。そのため、放電電流が選択ワード線ＷＬ１１に集中せず、充電電流として選択ビット線ＢＬ２１にも供給される。また、ビット線ドライバ２´から遠く、ワード線ドライバ３´に近い場所の非選択メモリセルＭＣ´に対して、過渡的にでもセット電圧Ｖｓｅｔに近い電圧が印加されるのを防ぐことができる。
【００５５】
フローティング状態（電位Ｖ〜）のビット線ＢＬ及びワード線ＷＬは、メモリセルアレイ１におけるメモリセルＭＣ´の位置によって自己整合的に所定の電圧に落ち着くが、その過程において、非選択メモリセルＭＣ´にも電流が流れる点については、読み出し動作のアクセス・フェーズと同じである。但し、電位Ｖの値が異なるため、メモリセルアレイ１のバイアス状態と電流の過渡的な変化は異なる。
【００５６】
図１１は、リセット動作のアクセス・フェーズ時のメモリセルアレイ１のバイアス状態を示す図である。
【００５７】
リセット動作のアクセス・フェーズでは、選択ビット線ＢＬ２１を電位Ｖｓ、選択ワード線ＷＬ１１をリセット電位Ｖｒｅｓｅｔに設定する。これは、セット動作時と逆のバイアス状態である。一方、非選択ビット線ＢＬ及び非選択ワード線ＷＬはフローティング状態とする。
【００５８】
アクティブ・スタンバイ・フェーズにおいて全てのビット線ＢＬ及びワード線ＷＬは、予め電位Ｖ＝〜Ｖｒｅｓｅｔ／２に設定されている。そのため、放電電流が選択ビット線ＢＬ２１に集中せず、充電電流として選択ワード線ＷＬ１１にも供給される。また、ワード線ドライバ３´から遠く、ビット線ドライバ２´に近い場所の非選択メモリセルＭＣ´に対して、過渡的にでもリセット電圧Ｖｒｅｓｅｔに近い電圧が印加されるのを防ぐことができる。
【００５９】
フローティング状態（電位Ｖ〜）のビット線ＢＬ及びワード線ＷＬは、メモリセルアレイ１におけるメモリセルＭＣ´の位置によって自己整合的に所定の電圧に落ち着くが、その過程において、非選択メモリセルＭＣにも電流が流れる点については、読み出し動作及びセット動作のアクセス状態と同じである。但し、選択メモリセルＭＣ´２１１を逆方向バイアスの状態にするため、間接順方向電流が流れる非選択メモリセルＭＣ´と間接逆方電流が流れる非選択メモリセルＭＣ´が、読み出し動作やセット動作時のアクセス・フェーズと全く逆になる。
【００６０】
次に、メモリセルアレイ１にバタフライ化したメモリセルＭＣが存在した場合のアクセス動作時の影響を説明する。ここでは、バタフライ化の影響が大きい読み出し動作と、セット動作について説明する。
【００６１】
図１２は、比較例に係る半導体記憶装置のフローティングアクセス方式による読み出し動作におけるバタフライ化したメモリセルの影響を説明する図であり、図１３は、比較例に係る半導体記憶装置のフローティングアクセス方式によるセット動作におけるバタフライ化したメモリセルの影響を説明する図である。図１２及び図１３は、メモリセルＭＣ´１２０がバタフライ化した場合のアクセス・フェーズ時のメモリセルアレイのバイアス状態を示している。
【００６２】
バタフライ化したメモリセルＭＣ´１２０は、逆方向バイアスが掛かってもセット状態と同様の電流を流してしまう（図１２及び図１３の電流パスＰ０）。
【００６３】
読み出し動作の場合、アクセス動作のアクティブ・スタンバイ・フェーズ時に、全てのビット線ＢＬ及びワード線ＷＬをアクセス電位Ｖａｃｃに設定する。そして、続くアクセス・フェーズ時に非選択ビット線ＢＬ及び非選択ワード線ＷＬをフローティング状態（電位Ｖ〜）にすると共に、選択ビット線ＢＬ２１をアクセス電位Ｖａｃｃ、選択ワード線ＷＬ１１を接地電位Ｖｓｓに設定する。
【００６４】
このとき、選択ビット線ＢＬ２１から選択ワード線ＷＬ１１に向かう最短経路パスＰ０のうち、唯一の逆方向バイアスが掛かる非選択メモリセルＭＣ´１２０はセット状態であり、実質、順方向バイアスが掛かっているものと同じである。つまり、最短経路パスＰ０は、低抵抗の電流パスとなる。その結果、選択ビット線ＢＬ２１と選択ワード線ＷＬ１１間に所望の電圧が印加されず、正常な読み出し動作ができなくなる。
【００６５】
このように、選択メモリセルＭＣ´のあるメモリマットＭＭの上下に隣接するメモリマットＭＭは、最短経路パスが形成される領域となるため、これら領域にバタフライ化したメモリセルＭＣ´が存在すると、所望の読み出し動作ができなくなる。これは、図１３に示すセット動作時においても同様である。
【００６６】
換言すれば、バタフライ化したメモリセルＭＣ´が存在するメモリマットＭＭの上下に隣接するメモリマットＭＭに属するメモリセルＭＭのアクセス動作に影響を及ぼすことを意味する。そのため、３次元のメモリセルアレイの有効領域を大きく制限することになる。
【００６７】
［実施形態に係るメモリセル］
そこで、実施形態では、バタフライ化するメモリセルＭＣが一定の割合で生じることを前提として、この影響をできる限り小さくする方法について説明する。実施形態では、比較例に係るメモリセルＭＣ´に替えて、セルユニットＣＵを２つ積層させた構造を持つ新たなメモリセルＭＣを用いる。そして、この新たなメモリセルＭＣに３値のバイナリデータをコード化した情報を記憶させる。
【００６８】
図１４中（Ａ）は、実施形態に係るメモリセルＭＣの構造を示す図であり、図１４中（Ｂ）は、当該メモリセルＭＣの記号を示す図である。
【００６９】
実施形態の場合、セルユニットＣＵを２個積層させることで、メモリセルＭＣ´よりも全体としてバタフライ化する確率を下げることができる。即ち、メモリセルＭＣ´のバタフライ化確率をｂとすれば、実施形態のメモリセルＭＣのバタフライ化率をｂ２にまで低減させることができる。
【００７０】
また、メモリセルＭＣにコード化されたデータを記憶させることで、エラー訂正が容易なシステムを構築できる。そのため、メモリセルＭＣのセルユニットＣＵにバタフライ化が生じても致命的な不良とはならずにメモリセルアレイ１を有効に利用できるようになる。
【００７１】
実施形態に係るメモリセルＭＣは、２個のセルユニットＣＵ１（第１セルユニット）、ＣＵ２（第２セルユニット）を積層させることで、容易に３値の記憶が容易となる。即ち、２つのセルユニットＣＵ１、ＣＵ２が共にセット状態の場合を‘０’状態（第１状態）、一方がセット状態、他方がリセット状態の場合を‘１’状態（第２状態）、共にリセット状態の場合を‘２’状態（第３状態）とする３つの抵抗状態を作ることができる。なお、これら状態のうち‘１’状態と‘２’状態は、メモリセルＭＣの抵抗の絶対値が非常に高いために電流センスなどによる区別が困難である。そのため、実施形態の場合、メモリセルＭＣからのデータの読み出しには、後述するような破壊読み出しを用いることになる。
【００７２】
メモリセルＭＣが‘２’状態の場合、メモリセルＭＣのセルユニットＣＵ１及びＣＵ２間の中間ノードＮｍは、高抵抗の接続点となるため、ビット線ＢＬの電位Ｕやワード線ＷＬの電位Ｗが直接反映されなくなる。そのため、中間ノードＮｍの電位Ｖｍは、図１４中（Ａ）に示したような浮遊容量によるカップリング分割で決まり、微少な電流による長時間放置によって変化することになる。実施形態では、この特性を、後述のように、メモリセルＭＣのアクセスに利用する。
【００７３】
また、実施形態に係るメモリセルＭＣは３つの状態を記憶できるため、メモリセルＭＣをペアで用いることで合計９つの状態を記憶することができる。そして、このことを利用することで、ｐ進数（ｐは、素数７）の剰余体Ｚｐを用いたリー・メトリック・コード（Ｌｅｅ  ｍｅｔｒｉｃ  ｃｏｄｅ）をメモリセルＭＣに記憶させることができる。以下において、ペアで用いるメモリセルＭＣを、「ペアセル」と呼ぶこともある。
【００７４】
図１５は、Ｚｐの要素とペアセルＰＣの状態の対応付けを示す図である。ペアセルＰＣは、図１５中（Ａ）に示すように、メモリセルＭＣ０（第１メモリセル）及びメモリセルＭＣ１（第２メモリセル）によって構成されている。
【００７５】
図１５中（Ｂ）に示すように、Ｚｐの要素とペアセルＰＣの状態を対応付けすることで、メモリセルＭＣ０或いはＭＣ１の‘１’状態及び‘２’状態間の変化は、Ｚｐにおいて±１の変化であり、リー・メトリック・コードにおいて１の変化に収まる。この場合、エラー訂正のシステムが簡単に構築できる。
【００７６】
したがって、Ｚｐの要素とペアセルＰＣの状態を対応付ける際には、セルユニットＣＵがバタフライ化しても、エラーの範囲が‘１’状態及び‘２’状態間の変化だけに限定されるようにアクセスすることが重要である。
【００７７】
図１５中（Ｂ）は、Ｚｐの要素とペアセルＰＣの状態の対応付けとして最も単純な例となる。しかし、図１５中（Ｂ）に示した例に限らず、Ｚｐの要素が、２つのメモリセルＭＣの‘１’状態と‘２’状態の組み合わせのいかなる場合でも、リー・メトリック・コードにおいて１の変化に収まるような対応付けであれば良い。
【００７８】
図１６は、Ｚｐの要素とペアセルＭＣの状態の対応付けの他の例を説明する図である。図１６中（Ａ）の各列のドットで示す行、右斜め線で示す行、左斜め線で示す行は、それぞれ図１６中（Ｂ）のドットで示すマス、右斜め線で示すマス、左斜め線で示すマスに対応している。
【００７９】
Ｚｐの要素は、その変化が巡回的であるため、図１６中（Ａ）のａ列〜ｇ列に示すように７通りの対応付けが可能である。図１６中（Ｂ）に示す例は、図１６中（Ａ）のａ列の対応付けを示したものであるが、他の列についても、図１６中（Ａ）のドットで示したＺｐの要素同士は互いにＺｐの隣接要素となっている。そのため、これらＺｐの要素をペアセルＰＣの‘１’状態と‘２’状態の任意の組み合わせに対応させることで、Ｚｐの要素の変化を±１に収めることができる。
【００８０】
［実施形態に係るアクセス動作］
＜アクセス動作の概要＞
ここでは、前述の多値記憶のメモリセルＭＣを用いた実施形態に係る半導体記憶装置におけるフローティングアクセス方式によるアクセス動作について説明する。
【００８１】
ここで扱うメモリセルアレイ１は、複数のメモリセルマットＭＭを積層させた構造を持つ。また、積層方向に隣接する２つのメモリセルマットＭＭは、ビット線ＢＬ或いはワード線ＷＬを共有しているものとする。したがって、１つのメモリセルグループＭＧは、図１７のようになる。
先ず、実施形態の説明で用いる用語、記号などを説明しておく。
【００８２】
アクセス対象となるメモリセルを「選択メモリセル」、その他のメモリセルを「非選択メモリセル」と呼ぶ。選択メモリセルに接続されたビット線を「選択ビット線」、その他のビット線を「非選択ビット線」、選択メモリセルに接続されたワード線を「非選択ワード線」、その他のワード線を「非選択ワード線」と呼ぶ。ビット線の電位をＵ、選択ビット線の電位をＵｓ、非選択ビット線の電位をＵｕ、ワード線の電位をＷ、選択ワード線の電位をＷｓ、非選択ワード線の電位をＷｕで表わす。最終的に‘ｎ’状態（ｎ＝０、１、２）に設定されるべきメモリセル或いは、本来的に‘ｎ’状態であるべきメモリセルをＭＣ（‘ｎ’）と表わす。メモリセルＭＣ（‘ｎ’）に接続されたビット線をＢＬ（‘ｎ’）で表わし、その電位をＵ（‘ｎ’）、Ｕｓ（‘ｎ’）或いはＵｕ（‘ｎ’）で表わす。メモリセルの中間ノード電位をＶｍで表わす。セット電圧Ｖｓｅｔとリセット電圧Ｖｒｅｓｅｔのいずれか大きい方、つまりｍａｘ（Ｖｓｅｔ，Ｖｒｅｓｅｔ）をＶｍａｘで表わし、小さい方、つまり、ｍｉｎ（Ｖｓｅｔ，Ｖｒｅｓｅｔ）をＶｍｉｎで表わす。セルユニットの状態を遷移させない電圧マージンをΔで表わす。例えば、リセット状態のセルユニットに掛かる順方向バイアスがＶｓｅｔ−Δ以下の場合、セルユニットはセット状態に遷移しないことになる。電位ｖのビット線或いはワード線をフローティング状態にした後のビット線或いはワード線の電位をｖ〜で表わす。例えば、電位Ｕ＝Ｖｍａｘ＋３Δのビット線をフローティング状態にした後のビット線の電位はＵ〜或いは（Ｖｍａｘ＋３Δ）〜で表わす。
【００８３】
ここで説明するアクセス動作は、メモリセルＭＣに順方向バイアスが掛からない限り、ビット線ＢＬ或いはワード線ＷＬをフローティング状態にしてもメモリセルＭＣには無視できる程度の逆リーク電流しか流れない事を前提としている。これは、実施形態のメモリセルＭＣがセルユニットＣＵを２つ積層させた構造を持つためである。この前提によって、ビット線ＢＬ及びワード線ＷＬの電位Ｕ及びＷを固定する設定をフローティングと併用することができる。そのため、比較例のアクセス動作に比べて電位設定を簡素化することができる。なお、メモリセルＭＣに流れる逆リーク電流が無視できない場合には、隣接するビット線ＢＬ間或いはワード線ＷＬ間の容量性カップリングに対する動作マージンを考慮したフローティング状態の設定をすれば良い。
【００８４】
実施形態のアクセス動作は、書き込み動作、読み出し動作の２つに大別することができる。
【００８５】
書き込み動作は、メモリセルＭＣの状態を初期化（データを消去）する「初期状態設定」、選択メモリセルＭＣを‘２’状態に設定する「‘２’状態設定」（第３状態設定）、メモリセルＭＣを‘１’状態に設定する「‘１’状態設定」（第２状態設定）及びメモリセルＭＣを‘０’状態に設定する「‘０’状態設定」（第１状態設定）の組み合わせからなる書き込みシーケンスによって実現される。なお、初期状態設定によってメモリセルＭＣを‘１’状態或いは‘０’状態に遷移させるため、書き込みシーケンスには、‘１’状態設定或いは‘０’状態設定が含まれないこともある。
【００８６】
読み出し動作は、メモリセルＭＣが‘０’状態かを判定する「‘０’状態判定」（第１状態判定）、メモリセルＭＣが‘１’状態かを判定する「‘１’状態判定」（第２状態判定）及びメモリセルＭＣ（‘１’）を‘１’状態に再設定する「‘１’状態再設定」（第２状態再設定）からなる読み出しシーケンスによって実現される。
【００８７】
初期状態設定、‘２’状態設定、‘１’状態設定、‘０’状態設定、‘０’状態判定、‘１’状態判定、‘１’状態再設定は、おおよそ「イニシャル・スタンバイ・フェーズ」、「アクティブ・スタンバイ・フェーズ」及び「アクセス・フェーズ」の３つのフェーズからなる。
【００８８】
＜ホールド動作＞
ここでは、アクセス動作を説明する前提として、アクセス動作に入る前のホールド動作について説明する。ホールド動作は、メモリセルＭＣのセルユニットＣＵの状態を保持させる動作である。
【００８９】
図１８は、ホールド動作時のメモリセルアレイ１のバイアス状態を示す図である。
ホールド動作では、全てのビット線ＢＬ及びワード線ＷＬの電位をＵ＝Ｗ＝Ｖｓｓに設定する。これによって、全てのメモリセルＭＣにはバイアスが掛からない。また、メモリセルＭＣ（‘２’）も含めた全てのメモリセルＭＣの中間ノード電位Ｖｍは、ほぼ接地電位Ｖｓｓに放電されている。
【００９０】
＜初期状態設定＞
図１９は、アクセス動作のイニシャル・スタンバイ・フェーズ時のメモリセルアレイ１のバイアス状態を示す図である、図２０は、アクセス動作のアクティブ・スタンバイ・フェーズ時のメモリセルアレイ１のバイアス状態を示す図である。図２１〜図２４は、アクセス動作のアクセス・フェーズ時のメモリセルアレイ１のバイアス状態を示す図である。なお、図２０〜図２４は、ビット線ＢＬ２１及びワード線ＷＬ１１に接続されたメモリセルＭＣ２１１を選択メモリセルとするバイアス状態である。
【００９１】
イニシャル・スタンバイ・フェーズは、メモリセルＭＣの中間ノード電位Ｖｍを設定する過程である。アクティブ・スタンバイ・フェーズは、ビット線ＢＬ或いはワード線ＷＬをフローティング状態にする際の電位設定をする過程である。
ここでは、初期状態設定における各フェーズについて説明する。
【００９２】
‘２’状態のメモリセルＭＣの中間ノード電位Ｖｍは、自在に制御することが困難である。また、‘２’状態の選択メモリセルＭＣを他の状態へ遷移させるようなメモリセルアレイ１のバイアス状態を作ると、選択ビット線ＢＬ或いは選択ワード線ＷＬに接続された非選択メモリセルＭＣの状態を破壊しかねず、データの保証ができなくなる。
【００９３】
そこで、メモリセルＭＣを新たな状態に遷移させる際には、一旦、メモリセルＭＣを‘０’状態或いは‘１’状態に遷移させた上で、最後に‘２’状態へ遷移させる方法を特に検討する。初期状態設定は、全てのメモリセルＭＣを‘０’状態或いは‘１’状態に遷移させる過程である。したがって、初期状態設定後は、メモリセルアレイ１に‘２’状態のメモリセルＭＣは存在しない。
【００９４】
なお、初期状態設定後のメモリセルアレイ１内のメモリセルＭＣの状態は統一されていることが望ましい。そこで、以下の手順により、全てのメモリセルＭＣを‘０’状態或いは‘１’状態のいずれかに統一する。
【００９５】
イニシャル・スタンバイ・フェーズ前は、図１８に示すように、ホールド動作によって、全てのビット線ＢＬ及びワード線ＷＬの電位はＵ＝Ｗ＝Ｖｓｓに設定されており、全てのメモリセルＭＣの中間ノード電位Ｖｍは接地電位Ｖｓｓ近くまで放電されている。
【００９６】
始めに、イニシャル・スタンバイ・フェーズでは、図１９に示すように、全てのビット線ＢＬ及びワード線ＷＬの電位をＵ＝Ｗ＝Ｖｍａｘ＋３Δに設定する。この電位設定によって、‘２’状態のメモリセルＭＣのセルユニットＣＵ１にはセット電圧Ｖｓｅｔ以上の順方向バイアスが掛かり、セルユニットＣＵ２にはリセット電圧Ｖｒｅｓｅｔ以上の逆方向バイアスが掛かる。その結果、‘２’状態のメモリセルＭＣは、‘１’状態に遷移する。なお、‘０’状態及び‘１’状態のメモリセルＭＣは、中間ノード電位Ｖｍがビット線ＢＬの電位Ｕ或いはワード線ＷＬの電位Ｗに連動して推移するため、状態は遷移しない。
【００９７】
続いて、アクティブ・スタンバイ・フェーズでは、図２０に示すように、電位Ｕ＝Ｖｍａｘ＋３Δで設定されている全てのビット線ＢＬをフローティング状態にすると共に、Ｗ＝Ｖｍａｘ＋３Δで設定されている全てのワード線ＷＬの電位をＷｓ＝Ｗｕ＝Ｖｓｓに設定し、この状態を暫くの間保持する。これによって、‘０’状態のメモリセルＭＣのセルユニットＣＵ２はセット状態であるため、‘０’状態のメモリセルＭＣの中間ノード電位Ｖｍは、接地電位Ｖｓｓまで低下する。また、０’状態のメモリセルＭＣのセルユニットＣＵ１もセット状態であるため、ビット線ＢＬの電位Ｕも接地電位Ｖｓｓに向けて放電していく。しかし、‘０’状態のメモリセルＭＣのセルユニットＣＵ１及びＣＵ２の抵抗状態はバイアスが低いほど高くなる非線形な特性を有するため、ビット線ＢＬの電位Ｕは、接地電位Ｖｓｓまで放電せず、接地電位Ｖｓｓよりも電圧マージンΔほど高い電位でほぼ飽和する。つまり、全てのビット線ＢＬの電位は、Ｕ＝Ｖｓ（Ｖｓ≧Ｖｓｓ＋Δ）となる。
【００９８】
以上の手順によって、全てのメモリセルＭＣは‘０’状態に遷移する。メモリセルＭＣの初期状態を‘０’状態とする場合、ここまでの手順で初期状態設定が完了となる。一方、メモリセルＭＣの初期状態を‘１’状態とする場合、以下の手順を続ける。
【００９９】
全てのメモリセルＭＣを‘０’状態に遷移させた後、全てのワード線ＷＬの電位を再びＷｓ＝Ｗｕ＝Ｖｍａｘ＋３Δに設定する。これによって、‘０’状態のメモリセルＭＣのセルユニットＣＵ２には、リセット電圧Ｖｒｅｓｅｔ以上の逆方向バイアスが掛かるため、セルユニットＣＵ２はリセット状態に遷移する。その結果、全てのメモリセルＭＣが‘１’状態に遷移する。
【０１００】
＜‘２’状態設定＞
‘２’状態設定は、非選択メモリセルＭＣの状態に影響を与えず、‘１’状態の選択メモリセルＭＣを‘２’状態に遷移させる過程である。したがって、初期状態設定によってメモリセルＭＣが‘０’状態に設定された場合、後述の‘１’状態設定後に行う必要がある点に留意されたい。つまり、‘２’状態設定は、セルユニットＣＵ１、ＣＵ２がそれぞれセット状態、リセット状態のメモリセルＭＣを対象とする過程となる。
【０１０１】
始めのイニシャル・スタンバイ・フェーズでは、セルユニットＣＵ１に逆方向バイアスが掛かっても状態遷移しないような電位設定をメモリセルＭＣの中間ノードＮｍに対して行う。つまり、イニシャル・スタンバイステップでは、図１９に示すように、全てのビット線ＢＬ及びワード線ＷＬの電位をＵ＝Ｗ＝Ｖｍｉｎ−Δに設定する。これによって、選択メモリセルＭＣについては、セット状態のセルユニットＣＵ１に順方向バイアスが掛かるため、セルユニットＣＵ１の状態は遷移しない。既に‘２’状態に設定されたメモリセルＭＣ（‘２’）については、リセット状態のセルユニットＣＵ１に順方向バイアスが掛かるが、この順方向バイアスはＶｓｅｔ−Δ以下の大きさしかないため、セルユニットＣＵ１の状態は遷移しない。また、選択ビット線ＢＬに接続された非選択メモリセルＭＣ（‘０’）或いはＭＣ（‘１’）については、セルユニットＣＵ２がバタフライ化している場合であっても、セルユニットＣＵ１にＶｒｅｓｅｔ−Δ以下の逆方向バイアスしか掛からないため、セルユニットＣＵ１の状態は遷移しない。
【０１０２】
なお、このイニシャル・スタンバイ・フェーズにおける電位設定は、ある程度の時間維持させる必要がある。これは、続くアクティブ・スタンバイ・フェーズにおいて、既に‘２’状態に設定された非選択メモリセルＭＣ（‘２’）のセルユニットＣＵ１が、セット状態に遷移してしまうことを防止するためである。アクティブ・スタンバイ・フェーズでは、非選択ビット線ＢＬの電位をＵｕ＝Ｖｒｅｓｅｔ−Δに設定するが、イニシャル・スタンバイ・フェーズにおける電位設定をある程度の時間維持させることで、非選択メモリセルＭＣ（‘２’）の中間ノード電位Ｖｍが上昇するため、セット電圧Ｖｓｅｔに対する電圧マージンを確保することができる。
【０１０３】
続いて、アクティブ・スタンバイ・フェーズでは、図２０に示すように、選択ビット線ＢＬの電位をＵｓ＝Ｖｍｉｎ−Δに設定する。これは、続くアクセス・フェーズにおいて、選択ビット線ＢＬに接続された非選択メモリセルＭＣ（‘０’）或いはＭＣ（‘１’）のセルユニットＣＵ１をリセット状態に遷移させないためである。また、非選択ビット線ＢＬ及び全てのワード線ＷＬの電位をＵｕ＝Ｗｓ＝Ｗｕ＝Ｖｒｅｓｅｔ−Δに設定する。これは、続くアクセス・フェーズにおいて、選択ワード線ＷＬに接続された非選択メモリセルＭＣ（‘０’）のセルユニットＣＵ２をリセット状態に遷移させないためである。
【０１０４】
続いて、アクセス・フェーズでは、図２１に示すように、選択ビット線ＢＬの電位をＵｓ＝Ｖｓｓ、選択ワード線ＷＬの電位をＷｓ＝２Ｖｒｅｓｅｔ−２Δ、非選択ビット線ＢＬ及び非選択ワード線ＷＬの電位をＵｕ＝Ｗｕ＝Ｖｒｅｓｅｔ−Δに設定する。この電位設定をある程度維持することで、‘１’状態の選択メモリセルＭＣの中間ノード電位Ｖｍは、セルユニットＣＵ２に流れる逆リーク電流によってＶｍｉｎ−Δからリセット電圧Ｖｒｅｓｅｔへと上昇する。その結果、選択メモリセルＭＣのセルユニットＣＵ１は、リセット状態に遷移する。一方、非選択メモリセルＭＣのセルユニットＣＵ１及びＣＵ２には、状態が遷移しない程度のバイアスしか掛からない。なお、この電位設定をある程度維持させないと、選択メモリセルＭＣが‘２’状態に遷移せず、‘１’状態のままとなる場合がある点に留意されたい。また、このアクセス・フェーズ終了後は、選択ワード線ＷＬの電位Ｗｓをいきなり接地電位Ｖｓｓに設定せず、アクセス・フェーズの時間と同程度の時間だけＷｓ＝Ｖｒｅｓｅｔ−Δに戻してメモリセルＭＣの中間ノード電位Ｖｍを放電させる必要がある。これは、選択メモリセルＭＣ（‘２’）のセルユニットＣＵ２が、セット状態に遷移するのを防ぐためである。
【０１０５】
＜‘１’状態設定＞
‘１’状態設定では、非選択メモリセルＭＣの状態には影響を与えず、‘０’状態の選択メモリセルＭＣを‘１’状態に遷移させる。
【０１０６】
始めに、イニシャル・スタンバイ・フェーズでは、図１９に示すように、全てのビット線ＢＬ及びワード線ＷＬの電位をＵ＝Ｗ＝Ｖｓｓに設定する。これは、メモリセルＭＣのセルユニットＣＵ１に逆方向バイアスが掛かり、セルユニットＣＵ１の状態が遷移しないように、メモリセルＭＣの中間ノード電位をＶｍ＝Ｖｓｓに設定するためである。
【０１０７】
続いて、アクティブ・スタンバイステップでは、図２０に示すように、選択ビット線ＢＬの電位をＵｓ＝Ｖｓｓ、非選択ビット線ＢＬ及び全てのワード線ＷＬの電位をＵｕ＝Ｗｓ＝Ｗｕ＝Ｖｍｉｎ−Δに設定する。非選択ビット線ＢＬ及び非選択ワード線ＷＬの電位をＵｕ＝Ｗｕ＝Ｖｍｉｎ−Δに設定するのは、既に状態の設定が完了したメモリセルＭＣ或いはバタフライ化したセルユニットＣＵを持つメモリセルＭＣの状態が遷移するのを防止するためである。なお、そのためには、非選択ビット線ＢＬの電位をＵｕ＝Ｖｓｅｔ−Δ、非選択ワード線ＷＬの電位をＷｕ＝Ｖｒｅｓｅｔ−Δにすれば良いとも考えられるが、電位Ｕｕを電位Ｗｕ以下にしないと、メモリセルＭＣに順方向バイアイスが掛かり、メモリセルＭＣに大電流が流れる恐れがある。そのため、非選択ビット線ＢＬ及びワード腺ＷＬの電位をＵｕ＝Ｗｓ＝Ｗｕ＝Ｖｍｉｎ−Δに設定する必要がある。
【０１０８】
続いて、アクセス・フェーズでは、図２２に示すように、選択ワード線ＷＬの電位をＷｓ＝Ｖｒｅｓｅｔ＋Δに設定する。全てのビット線ＢＬ及び非選択ワード線ＷＬの電位は、アクティブ・スタンバイ・フェーズにおける電位設定を維持させる。これによって、選択メモリセルＭＣのセルユニットＣＵ２にはリセット電圧Ｖｒｅｓｅｔ以上の逆方向バイアスが掛かる一方、セルユニットＣＵ１にはリセット電圧Ｖｒｅｓｅｔ以下の逆方向バイアスしか掛からないため、選択メモリセルＭＣは、‘１’状態に遷移する。なお、非選択メモリセルＭＣは、セルユニットＣＵ１及びＣＵ２に状態が遷移しない程度のバイアスしか掛からないため、状態は遷移しない。
【０１０９】
＜‘０’状態設定＞
‘０’状態設定では、非選択メモリセルＭＣの状態に影響を与えず、‘１’状態の選択メモリセルＭＣを‘０’状態に遷移させる。
【０１１０】
ここでは、選択メモリセルＭＣに順方向バイアスを掛けるため、非選択ビット線ＢＬ及び非選択ワード線ＷＬをフローティング状態にする。これによって、隣接ビット線ＢＬ間、隣接ワード線ＷＬ間の容量性カップリングが１００％であったとしても、非選択メモリセルＭＣの状態は破壊されない。
【０１１１】
始めに、イニシャル・スタンバイ・フェーズでは、図１９に示すように、ビット線ＢＬ及びワード線ＷＬの電位をＵ＝Ｗ＝Ｖｍｉｎ−Δに設定する。この電位設定をある程度維持することで、既に‘２’状態に設定された非選択メモリセルＭＣ（‘２’）の中間ノード電位Ｖｍが上昇するため、セルユニットＣＵ１及びＣＵ２の状態が遷移することを防止できる。
【０１１２】
続いて、アクティブ・スタンバイ・フェーズでは、図２０に示すように、選択ビット線ＢＬの電位を、イニシャル・スタンバイ・フェーズに引き続き、Ｕｓ＝Ｖｍｉｎ−Δに設定する。非選択ビット線ＢＬの電位をＵ＝Ｖｍｉｎ−Δに設定する。これは、隣接ビット線ＢＬとの容量性カップリングに対する電圧マージンを確保するためである。選択ワード線ＷＬの電位を、イニシャル・スタンバイ・フェーズに引き続き、Ｗｓ＝Ｖｍｉｎ−Δに設定する。非選択ワード線ＷＬの電位をＷｕ＝Ｖｍｉｎに設定する。これは、隣接ワード線ＷＬとの容量性カップリングに対する電圧マージンを確保するためである。これら電位設定をある程度維持させることで、メモリセルＭＣ（‘２’）の中間ノード電位Ｖｍを上昇させるめの時間を稼ぐことができる。
【０１１３】
続いて、アクセス・フェーズでは、図２３に示すように、選択ビット線ＢＬの電位をＷｓ＝Ｖｓｅｔ、選択ワード線ＷＬの電位をＷｕ＝Ｖｓｓに設定し、非選択ビット線ＢＬ及び非選択ワード線ＷＬをフローティング状態にする。この設定によって、選択メモリセルＭＣのセルユニットＣＵ２には、セット電圧Ｖｓｅｔ以上の順方向バイアスが掛かるため、セルユニットＣＵ２をセット状態に遷移する。また、選択ビット線ＢＬの電位変化によって、隣接ビット線ＢＬの電位は、最大でΔだけ変化してＵｕ＝Ｖｍｉｎ−Δとなる。選択ワード線ＷＬの電位変化によって、隣接ワード線ＷＬの電位は、最大でＶｍｉｎ−Δだけ変化してＷｕ≧Δとなる。そのため、非選択メモリセルＭＣには、最大でもＶｍｉｎ−Δのバイアスしか掛からないため、非選択メモリセルＭＣのセルユニットＣＵ１及びＣＵ２の状態は遷移しない。
【０１１４】
なお、‘０’状態に設定された選択メモリセルＭＣ（‘０’）に流れるセル電流の増加を抑制するために選択ビット線ＢＬをビット線ドライバ２´から遮断する場合、選択ビット線ＢＬの電位Ｕｓは、選択ワード線ＷＬの電位Ｗｓに引かれて接地電位Ｖｓｓに向けて低下するが、‘０’状態のメモリセルＭＣのセルユニットＣＵ１及びＣＵ２の抵抗状態は、バイアスが低いほど高くなる非線形な特性を有するため、接地電位Ｖｓｓよりも電圧マージンΔほど高い電位でほぼ飽和する。そのため、選択ビット線ＢＬに接続されたセット状態のセルユニットＣＵ１を持つ非選択メモリセルＭＣの中間ノード電位がＶｍ＝Ｖｓｅｔの場合であっても、セルユニットＣＵ１にはＶｓｅｔ−Δ程度の逆方向バイアスしか掛からない。その結果、このセルユニットＣＵ１は、ＶｓｅｔとＶｒｅｓｅｔが同程度である場合、状態は遷移しない。
【０１１５】
＜‘０’状態判定＞
‘０’状態判定では、選択メモリセルＭＣが低抵抗か高抵抗かを判別する。即ち、‘０’状態か、或いは‘１’状態又は‘２’状態かを判別する。なお、‘１’状態と‘２’状態との判別は後述の‘１’状態判定で行う。
【０１１６】
始めに、イニシャル・スタンバイ・フェーズでは、図１９に示すように、全てのビット線ＢＬ及びワード線ＷＬの電位をメモリセルＭＣの状態に影響を与えない程度の電位であるＵ＝Ｗ＝Ｖａｃｃに設定する。
【０１１７】
続いて、アクティブ・スタンバイ・フェーズでは、図２０に示すように、イニシャル・スタンバイ・フェーズにおける電位設定を維持させる。つまり、‘０’状態判定においては、イニシャル・スタンバイ・フェーズとアクティブ・スタンバイ・フェーズの区別はない。
【０１１８】
続いて、アクセス・フェーズでは、図２４に示すように、選択ビット線ＢＬの電位をＵｓ＝Ｖａｃｃ、選択ワード線ＷＬの電位をＷｓ＝Ｖｓｓに設定し、非選択ビット線ＢＬ及び非選択ワード線ＷＬをフローティング状態にする。この設定によって選択ビット線ＢＬに流れる電流から、選択メモリセルＭＣの‘０’状態と‘１’状態又は‘２’状態とを判別することができる。
【０１１９】
＜初期状態設定時の正常なメモリセルの状態遷移＞
ここでは、実施形態のアクセス動作の過程において、バタフライ化したセルユニットＣＵの影響がどのように現れるかについて説明する。
【０１２０】
実施形態のアクセス動作を用いた場合のメモリセルＭＣの状態遷移を、異なる４つの状態のメモリセルＭＣについて説明する。ここで、４つの状態とは、セルユニットＣＵ１、セルユニットＣＵ２の状態の組み合わせを（セルユニットＣＵ１の状態、セルユニットＣＵ２の状態）で表わし、セット状態を「Ｓ」、リセット状態を「Ｒ」で表わすと、（Ｓ，Ｓ）、（Ｓ，Ｒ）、（Ｒ，Ｓ）、（Ｒ，Ｒ）のことを言う。
【０１２１】
図２５は、初期状態設定時の正常なメモリセルＭＣの状態遷移を示す図である。図２５中の白抜き矢印はイニシャル・スタンバイ・フェーズにおける遷移、墨付き矢印はアクティブ・スタンバイ・フェーズにおける遷移を示す。
【０１２２】
イニシャル・スタンバイ・フェーズでは、ビット線ＢＬ及びワード線ＷＬの電位は、Ｕ＝Ｗ＝Ｖｍａｘ＋３Δで設定される。そのため、（Ｓ，Ｓ）、（Ｓ，Ｒ）及び（Ｒ，Ｒ）のメモリセルＭＣについては、セルユニットＣＵ１に順方向バイアスが掛かるため、セルユニットＣＵ１は、セット状態に遷移する。その結果、‘２’状態のメモリセルＭＣがなくなる。一方、（Ｒ，Ｓ）のメモリセルＭＣについては、セルユニットＣＵ１が先にセット状態に遷移するか（図中ｐ１）、セルユニットＣＵ２が先にリセット状態に遷移するか（図中ｐ２）で状態遷移の過程が異なってくる。遷移過程ｐ１の場合、イニシャル・スタンバイ・フェーズでは、（Ｒ，Ｓ）のメモリセルＭＣは（Ｓ，Ｓ）に遷移する。一方、遷移過程ｐ２の場合、セルユニットＣＵ２がリセット状態に遷移した後、中間ノード電位Ｖｍが接地電位ＶｓｓのままであるためセルユニットＣＵ１もセット状態に遷移する。その結果、（Ｒ，Ｓ）のメモリセルＭＣは、（Ｓ，Ｒ）に遷移する。いずれの遷移経路ｐ１及びｐ２であっても、メモリセルＭＣのセルユニットＣＵ１は、セット状態に遷移する。
【０１２３】
アクティブ・スタンバイ・フェーズでは、全てのビット線ＢＬがフローティング状態にされ、全てのワード線ＷＬの電位は、Ｗｓ＝Ｗｕ＝Ｖｓｓに設定される。この時点で、リセット状態のセルユニットＣＵ２にはセット電圧Ｖｓｅｔ以上の順方向バイアスが掛かるため、セルユニットＣＵ２はセット状態に遷移する。また、フローティング状態のビット線ＢＬの電位もＵ〜＝Ｖｓになる。ここまでの過程で、全てのメモリセルＭＣが‘０’状態に遷移する。
【０１２４】
全てのメモリセルＭＣを‘１’状態に遷移させる場合、更に、全てのワード線ＷＬの電位は、再びＷｓ＝Ｗｕ＝Ｖｍａｘ＋３Δに設定される。そのため、メモリセルＭＣの中間ノード電位がＶｍ＝Ｖｓｓになり、セルユニットＣＵ２にはリセット電圧Ｖｒｅｓｅｔ以上の逆方向バイアスが掛かる。その結果、セルユニットＣＵ２がリセット状態に遷移し、全てのメモリセルＭＣが（Ｓ，Ｒ）に遷移する。
【０１２５】
＜初期状態設定時のバタフライ化したセルユニットＣＵ１を持つメモリセルの状態遷移＞
ここでは、初期状態設定時のバタフライ化したセルユニットＣＵを持つメモリセルＭＣの状態遷移について説明する。なお、以下では、セルユニットＣＵ１及びＣＵ２の一方がバタフライ化したメモリセルＭＣについてのみ説明する。これは、セルユニットＣＵ１及びＣＵ２が共にバタフライ化してしまう可能性は低い上、このようなメモリセルＭＣはＥＣＣ等の対象外となるためである。
【０１２６】
図２６は、初期状態設定時のバタフライ化したセルユニットＣＵ１を持つメモリセルＭＣの状態遷移を示す図である。図２６中の白抜き矢印はイニシャル・スタンバイ・フェーズにおける遷移、墨付き矢印はアクティブ・スタンバイ・フェーズにおける遷移を示す。また、墨付きで示したセルユニットＣＵは、バタフライ化したセルユニットを表わしている。なお、リバース特性が低抵抗になるバタフライ化は、セット状態のセルユニットＣＵ、リセット状態のセルユニットＣＵの双方であり得るため、ここでも、（Ｓ，Ｓ）、（Ｓ，Ｒ）、（Ｒ，Ｓ）及び（Ｒ，Ｒ）の全ての状態のメモリセルＭＣの状態遷移について説明する。
【０１２７】
イニシャル・スタンバイ・フェーズでは、ビット線ＢＬ及びワード線ＷＬの電位は、Ｕ＝Ｗ＝Ｖｍａｘ＋３Δで設定される。そのため、（Ｓ，Ｓ）、（Ｓ，Ｒ）及び（Ｒ，Ｒ）のメモリセルＭＣについては、セルユニットＣＵ１に順方向バイアスが掛かるため、セルユニットＣＵ１は、セット状態に遷移する。その結果、‘２’状態のメモリセルＭＣがなくなる。一方、（Ｒ，Ｓ）のメモリセルＭＣについては、セルユニットＣＵ１が先にセット状態に遷移するか（図中ｐ１）、セルユニットＣＵ２が先にリセット状態に遷移するか（図中ｐ２）で状態遷移の過程が異なってくる。遷移過程ｐ１の場合、イニシャル・スタンバイ・フェーズでは、（Ｒ，Ｓ）のメモリセルＭＣは（Ｓ，Ｓ）に遷移する。一方、遷移過程ｐ２の場合、セルユニットＣＵ２がリセット状態に遷移した後、中間ノード電位Ｖｍが接地電位ＶｓｓのままであるためセルユニットＣＵ１もセット状態に遷移する。その結果、（Ｒ、Ｓ）のメモリセルＭＣは、（Ｓ，Ｒ）に遷移する。いずれの遷移経路ｐ１及びｐ２であっても、メモリセルＭＣのセルユニットＣＵ１は、セット状態となる。
【０１２８】
アクティブ・スタンバイ・フェーズでは、全てのビット線ＢＬがフローティング状態にされ、全てのワード線ＷＬの電位は、Ｗｓ＝Ｗｕ＝Ｖｓｓに設定される。この時点で、リセット状態のセルユニットＣＵ２にはセット電圧Ｖｓｅｔ以上の順方向バイアスが掛かるため、セルユニットＣＵ２はセット状態に遷移する。また、フローティング状態のビット線ＢＬの電位もＵ〜＝Ｖｓになる。ここまでの過程で、全てのメモリセルＭＣが‘０’状態に遷移する。
【０１２９】
全てのメモリセルＭＣを‘１’状態に遷移させる場合、更に、全てのワード線ＷＬの電位が、再びＷｓ＝Ｗｕ＝Ｖｍａｘ＋３Δに設定される。そのため、メモリセルＭＣの中間ノード電位がＶｍ＝Ｖｓｓになり、セルユニットＣＵ２にはリセット電圧Ｖｒｅｓｅｔ以上の逆方向バイアスが掛かる。その結果、セルユニットＣＵ２がリセット状態に遷移し、全てのメモリセルＭＣが（Ｓ，Ｒ）に遷移する。
【０１３０】
つまり、初期状態設定の過程では逆方向バイアスが利用されないため、セルユニットＣＵ１がバタフライ化したとしても、メモリセルＭＣの状態遷移に影響はない。
【０１３１】
＜初期状態設定時のバタフライ化したセルユニットＣＵ２を持つメモリセルの状態遷移＞
ここでは、初期状態設定時のバタフライ化したセルユニットＣＵ２を持つメモリセルＭＣの状態遷移について図２７を用いて説明する。図２７中の表記については、図２６と同様である。
【０１３２】
イニシャル・スタンバイ・フェーズでは、ビット線ＢＬ及びワード線ＷＬの電位は、Ｕ＝Ｗ＝Ｖｍａｘ＋３Δで設定される。しかし、いずれのセルユニットＣＵ２にも逆方向バイアス特性がないため、メモリセルＭＣの状態は遷移しない。
【０１３３】
アクティブ・スタンバイ・フェーズでは、全てのビット線ＢＬがフローティング状態にされ、全てのワード線ＷＬの電位がＷｓ＝Ｗｕ＝Ｖｓｓに設定される。この時点で、リセット状態のセルユニットＣＵ１にはセット電圧Ｖｓｅｔ以上の順方向バイアスが掛かるため、セルユニットＣＵ１はセット状態に遷移する。また、フローティング状態のビット線ＢＬの電位もＵ〜＝Ｖｓになる。ここまでの過程で、全てのメモリセルＭＣが‘０’状態に遷移する。
【０１３４】
全てのメモリセルＭＣを‘１’状態に遷移させる場合、更に、全てのワード線ＷＬの電位が、再びＷｓ＝Ｗｕ＝Ｖｍａｘ＋３Δに設定される。この場合、セルユニットＣＵ２に逆方向バイアス特性がないため、メモリセルＭＣの中間ノード電位がＶｍ＝Ｖｍａｘ＋３Δになる。そのため、セルユニットＣＵ１にはリセット電圧Ｖｒｅｓｅｔ以上の逆方向バイアスが掛かる。その結果、セルユニットＣＵ１がリセット状態に遷移し、全てのメモリセルＭＣが（Ｒ，Ｓ）に遷移する。
【０１３５】
つまり、初期状態設定の過程では、セルユニットＣＵ２がバタフライ化したことで、メモリセルＭＣは、正常なメモ入りセルＭＣの場合とは異なる‘１’状態に遷移することになる。
【０１３６】
＜‘２’状態設定時の正常なメモリセルの状態遷移＞
ここでは、選択メモリセルＭＣに対して‘２’状態設定した場合の正常なメモリセルＭＣの状態遷移について図２８を用いて説明する。
【０１３７】
選択メモリセルＭＣについては、図２８に示すように、選択ビット線ＢＬの電位がＵｓ＝Ｖｍｉｎ−Δに設定されることで、選択メモリセルＭＣの中間ノード電位がＶｍｉｎ−Δに設定される。その後、選択ビット線ＢＬの電位がＵｓ＝Ｖｓｓ、選択ワード線ＷＬの電位がＷｓ＝２Ｖｒｅｓｅｔ−２Δに設定される。これによって、選択メモリセルＭＣのセルユニットＣＵ１は、リセット状態に遷移する。これら選択ビット線ＢＬ及び選択ワード線ＷＬへの電位設定は、ある程度の時間（数μｓオーダー）維持されないとセルユニットＣＵ１がリセット状態に遷移しないため、選択メモリセルＭＣは‘２’状態に遷移しない。即ち、この電位設定の期間によっては、‘２’状態で設定されるべきメモリセルＭＣに‘１’状態のメモリセルＭＣが混入することになる。
【０１３８】
一方、非選択ビット線ＢＬ及び非選択ワード線ＷＬ間の非選択メモリセルＭＣについては、非選択ビット線ＢＬ及び非選択ワード線ＷＬの電位がＵｕ＝Ｗｕ＝Ｖｒｅｓｅｔ−Δに設定されるため、バイアスは掛からず状態は遷移しない。
【０１３９】
これに対し、選択ビット線ＢＬ及び非選択ワード線ＷＬ間の非選択メモリセルＭＣについては、図２８に示すように、選択ビット線ＢＬの電位がＵｓ＝Ｖｓｓ、非選択ワード線ＷＬの電位がＷｕ＝Ｖｒｅｓｅｔ−Δに設定される。そのため、非選択メモリセルＭＣ（‘１’）は、セット状態のセルユニットＣＵ１を介して中間ノード電位がＶｍ＝Ｖｍｉｎ−Δに設定される。その結果、セルユニットＣＵ２にはＶｍｉｎ−Ｖｒｅｓｅｔの順方向バイアスしか掛からず、状態は遷移しない。なお、セット電圧Ｖｓｅｔとリセット電圧Ｖｒｅｓｅｔは、同程度の電圧である。非選択メモリセルＭＣ（‘０’）も、中間ノード電位がＶｍ＝Ｖｍｉｎ−Δに設定されるため、状態は遷移しない。非選択メモリセルＭＣ（‘２’）は、やはりセルユニットＣＵ１及びＣＵ２共に状態が遷移するようなバイアスが掛からないため、状態が遷移しない。
【０１４０】
また、非選択ビット線ＢＬ及び選択ワード線ＷＬ間の非選択メモリセルＭＣの場合、図２８に示すように、非選択メモリセルＭＣ（‘０’）及びＭＣ（‘１’）については、セット状態のセルユニットＣＵ１を介して中間ノード電位がＶｍ＝Ｖｒｅｓｅｔ−Δに設定され、選択ワード線ＷＬの電位がＷｓ＝２Ｖｒｅｓｅｔ−２Δに設定されるため、セルユニットＣＵ２にはＷｓ−Ｖｍ＝Ｖｒｅｓｅｔ−Δの逆方向バイアスしか掛からない。その結果、非選択メモリセルＭＣ（‘０’）及び（‘１’）は、状態が遷移しない。非選択メモリセルＭＣ（‘２’）については、イニシャル・スタンバイ・フェーズにおいて中間ノード電位Ｖｍがある程度上昇するため、セルユニットＣＵ１にはＶｒｅｓｅｔ−Δよりも低い順方向バイアスしか掛からない。そのため、セット電圧Ｖｓｅｔとリセット電圧Ｖｒｅｓｅｔに極端な差がない限り、非選択メモリセルＭＣ（‘２’）は、状態が遷移しない。
【０１４１】
＜‘２’状態設定時のバタフライ化したセルユニットＣＵ１又はＣＵ２を持つメモリセルの状態遷移＞
ここでは、‘２’状態設定時のバタフライ化したセルユニットＣＵ１又はＣＵ２を持つメモリセルＭＣの状態遷移について図２９を用いて説明する。図２９中、‘／‘の前に示した値はセルユニットＣＵ１がバタフライ化した場合の値、‘／’の後に示した値はセルユニットＣＵ２がバタフライ化した場合の値を示している。その他の表記については、図２６と同様である。図２９には、‘１’状態設定によって‘０’状態のメモリセルＭＣが‘１’状態に遷移した場合と、初期状態設定によってメモリセルＭＣが‘１’状態に遷移した場合について、メモリセルＭＣの状態遷移の全てのパターンが示されている。なお、初期状態設定では、リセット状態のバタフライ化したセルユニットＣＵはなくなるため、バタフライ化したセルユニットＣＵを持つ‘２’状態のメモリセルＭＣはない。
【０１４２】
セルユニットＣＵ１がバタフライ化した（Ｓ，Ｒ）の選択メモリセルＭＣについては、図２９に示すように、中間ノード電位Ｖｍが最低電位である選択ビット線ＢＬの電位Ｕｓと同じ接地電位Ｖｓｓに設定されるため、セルユニットＣＵ２はリセット状態で安定する。その結果、（Ｓ，Ｒ）の選択メモリセルＭＣは、‘２’状態に遷移しない。セルユニットＣＵ２がバタフライ化した（Ｒ，Ｓ）の選択メモリセルＭＣについては、中間ノード電位Ｖｍが選択ワード線ＷＬの電位Ｗｓである２Ｖｒｅｓｅｔ−２Δに設定されるため、セルユニットＣＵ１はリセット状態で安定する。その結果、セルユニットＣＵ１がバタフライ化した（Ｓ，Ｒ）の選択メモリセルＭＣと同様、（Ｒ，Ｓ）の選択メモリセルＭＣは、‘２’状態に遷移しない。つまり、‘１’状態の選択メモリセルＭＣのセルユニットＣＵがバタフライ化した場合、選択メモリセルＭＣに対して‘２’状態設定しても、選択メモリセルＭＣは‘１’状態のままとなる。
【０１４３】
一方、非選択ビット線ＢＬ及び非選択ワード線ＷＬ間の非選択メモリセルＭＣについては、非選択ビット線ＢＬ及び非選択ワード線ＷＬの電位がＵｕ＝Ｗｓ＝Ｖｒｅｓｅｔ−Δに設定されるため、バイアスは掛からず状態は遷移しない。
【０１４４】
これに対し、選択ビット線ＢＬ及び非選択ワード線ＷＬ間の非選択メモリセルＭＣ並びに非選択ビット線ＢＬ及び選択ワード線ＷＬ間の非選択メモリセルＭＣについては、図２９に示すように、選択ワード線ＷＬの電位がＷｓ＝２Ｖｒｅｓｅｔ−２Δに設定される場合もあるが、セルユニットＣＵ１及びＣＵ２には、Ｖｒｅｓｅｔ−Δ以上の逆方向バイアスが掛かることはないため、状態は遷移しない。
【０１４５】
以上から、バタフライ化したセルユニットＣＵ１又はＣＵ２を持つメモリセルＭＣについては、‘１’状態から‘２’状態に遷移させることができず、‘１’状態及び‘２’状態間の誤遷移が生じる結果となる。
【０１４６】
＜‘１’状態設定時の正常なメモリセルの状態遷移＞
ここでは、‘０’状態の選択メモリセルＭＣに対して‘１’状態設定した場合の正常なメモリセルＭＣの状態遷移について図３０を用いて説明する。
【０１４７】
‘１’状態設定におけるイニシャル・スタンバイ・フェーズでは、ビット線ＢＬ及びワード線ＷＬの電位をＵ＝Ｗ＝Ｖｓｓに設定し、選択メモリセルＭＣの中間ノード電位をＶｍ＝Ｖｓｓに設定する。続いて、アクティブ・スタンバイ・フェーズでは、選択ビット線ＢＬの電位をＵｓ＝Ｖｓｓに維持しつつ、非選択ビット線ＢＬ及び全てのワード線ＷＬの電位をＵｕ＝Ｗｓ＝Ｗｕ＝Ｖｍｉｎ−Δに設定する。そして、アクセス・フェーズにおいて、選択ビット線ＢＬの電位をＵｓ＝Ｖｓｓに維持しつつ、選択ワード線ＷＬの電位をＷｓ＝Ｖｒｅｓｅｔ＋Δに設定する。
【０１４８】
これによって、選択メモリセルＭＣについては、中間ノード電位Ｖｍが接地電位Ｖｓｓから少し上昇するが、選択メモリセルＭＣのカソードＮｃ側のセルユニットＣＵ２にはリセット電圧Ｖｒｅｓｅｔ以上の逆方向バイアスが掛かため、セルユニットＣＵ２は、常にリセット状態に遷移する。また、選択メモリセルＭＣのアノードＮａ側のセルユニットＣＵ１にはほとんどバイアスが掛からないため、セルユニットＣＵ１は、セット状態を維持する。つまり、‘０’状態の選択メモリセルＭＣは、‘１’状態に遷移する。
【０１４９】
一方、非選択ビット線ＢＬ及び非選択ワード線ＷＬ間の非選択メモリセルＭＣについては、非選択ビット線ＢＬ及び非選択ワード線ＷＬの電位がＵｕ＝Ｗｕ＝Ｖｍｉｎ−Δに設定されるため、バイアスは掛からず状態は遷移しない。
【０１５０】
これに対し、選択ビット線ＢＬ及び非選択ワード線ＷＬ間の非選択メモリセルＭＣについては、選択ビット線ＢＬの電位がＵｓ＝Ｖｓｓ、非選択ワード線ＷＬの電位がＷｕ＝Ｖｍｉｎ−Δに設定される。そのため、非選択メモリセルＭＣにはリセット電圧Ｖｒｅｓｅｔ以下の逆方向バイアスしか掛からないため、非選択メモリセルＭＣの状態は遷移しない。
【０１５１】
非選択ビット線ＢＬ及び選択ワード線ＷＬ間の非選択メモリセルＭＣについては、選択ワード線ＷＬの電位がＷｓ＝Ｖｒｅｓｅｔ＋Δ、非選択ビット線ＢＬの電位がＵｕ＝Ｖｍｉｎ−Δに設定される。そのため、非選択メモリセルＭＣのセルユニットＣＵ２には、Ｖｒｅｓｅｔ＋Δ−（Ｖｍｉｎ−Δ）＝Ｖｒｅｓｅｔ−Ｖｍｉｎ＋２Δ以下の逆方向バイアスしか掛からない。また、セット電圧Ｖｓｅｔとリセット電圧Ｖｒｅｓｅｔは、同程度の値である。したがって、いずれの状態であっても、非選択メモリセルＭＣの状態は遷移しない。
【０１５２】
＜‘１’状態設定時のバタフライ化したセルユニットＣＵ１又はＣＵ２を持つメモリセルの状態遷移＞
ここでは、‘１’状態設定時のバタフライ化したセルユニットＣＵ１又はＣＵ２を持つメモリセルＭＣの状態遷移について図３１を用いて説明する。図３１中の表記については、図２９と同様である。
【０１５３】
セルユニットＣＵ１がバタフライ化した選択メモリセルＭＣについては、図３１に示すように、イニシャル・スタンバイ・フェーズにおいてビット線ＢＬ及びワード線ＷＬの電位がＵ＝Ｗ＝Ｖｓｓに設定されるため、中間ノード電位はＶｍ＝Ｖｓｓになる。その後、アクセス・フェーズにおいて、選択ワード線ＷＬの電位がＷｓ＝Ｖｒｅｓｅｔ＋Δに設定されるため、セルユニットＣＵ２にはリセット電圧Ｖｒｅｓｅｔ以上の逆方向バイアスが掛かる。その結果、セルユニットＣＵ２がリセット状態に遷移し、選択メモリセルＭＣは‘１’状態に遷移する。
【０１５４】
セルユニットＣＵ２がバタフライ化した選択メモリセルＭＣについては、選択ワード線ＷＬの電位がＷｓ＝Ｖｒｅｓｅｔ＋Δに設定されるので、バタフライ化したセルユニットＣＵ２を介して中間ノード電位はＶｍ＝Ｖｒｅｓｅｔ＋Δになる。そのため、セルユニットＣＵ１がリセット状態に遷移する。その結果、セルユニットＣＵ２がバタフライ化した場合、選択メモリセルＭＣは、正常な場合とは異なる構成の‘１’状態に遷移する。
【０１５５】
これに対し、選択ビット線ＢＬ及び非選択ワード線ＷＬ間の非選択メモリセルＭＣ並びに非選択ビット線ＢＬ及び選択ワード線ＷＬ間の非選択メモリセルＭＣについては、バタフライ化したセルユニットＣＵ１或いはＣＵ２が存在したとしても、セルユニットＣＵ１及びＣＵ２にはＶｍｉｎ−Δか、Ｖｒｅｓｅｔ−Ｖｍｉｎ＋２Δ以下のバイアスしか掛からないため、非選択メモリセルＭＣは誤遷移することはない。
【０１５６】
＜‘０’状態設定時の正常なメモリセルの状態遷移＞
ここでは、選択メモリセルＭＣに対して‘０’状態設定した場合の正常なメモリセルＭＣの状態遷移について図３２を用いて説明する。
【０１５７】
‘０’状態設定では、始めに、イニシャル・スタンバイ・フェーズにおいて、ビット線ＢＬ及びワード線ＷＬの電位がＵ＝Ｗ＝Ｖｍｉｎ−Δに設定され、この設定を数μｓ間維持される。続いて、アクティブ・スタンバイ・フェーズにおいて、選択ビット線ＢＬ及び選択ワード線ＷＬの電位がＵｓ＝Ｗｓ＝Ｖｍｉｎ−Δ、非選択ビット線ＢＬの電位がＵｕ＝Ｖｍｉｎ−２Δ、非選択ワード線ＷＬの電位がＷｕ＝Ｖｍｉｎに設定される。その後、アクセス・フェーズにおいて、選択ビット線ＢＬの電位がＵｓ＝Ｖｓｅｔ、選択ワード線ＷＬの電位がＷｓ＝Ｖｓｓに設定され、非選択ビット線ＢＬ及び非選択ワード線ＷＬがフローティング状態になる。このように、非選択ビット線ＢＬ及び非選択ワード線ＷＬがフローティング状態になることで、容量性カップリングによる隣接ビット線ＢＬ或いは隣接ワード線ＷＬへの影響を抑制できる。
【０１５８】
選択メモリセルＭＣについては、アクティブ・スタンバイ・フェーズにおける電位設定によって、選択メモリセルＭＣのカソードＮｃ側のセルユニットＣＵ２は常にセット状態に遷移する。また、アノードＮａ側のセルユニットＣＵ１には順方向バイアスが掛かり、セルユニットＣＵ１はセット状態を維持する。その結果、選択メモリセルＭＣは、‘０’状態に遷移する。
【０１５９】
一方、非選択ビット線ＢＬ及び非選択ワード線ＷＬ間の非選択メモリセルＭＣについては、選択メモリセルＭＣに対する‘０’状態設定によってディスターブが生じないかが問題となる。始めに、イニシャル・スタンバイ・フェーズにおける電位設定を維持し、メモリセルＭＣ（‘２’）の中間ノード電位Ｖｍを十分に上げておく。ここで、フローティング状態のビット線ＢＬ及びワード線ＷＬには、隣接ビット線ＢＬ或いは隣接ワード線ＷＬから１００％の容量性カップリングの影響を受けるものとそうでないものが存在する。そして、アクティブ・スタンバイ・フェーズにおける電位設定による選択ビット線ＢＬの電位変化はＶｓｅｔ−Ｖｍｉｎ＋Δであり、選択ワード線ＷＬの電位変化はＶｍｉｎ−Δになる。したがって、非選択メモリセルＭＣの両端には、フローティング状態の非選択ビット線ＢＬの電位の範囲Ｖｍｉｎ−２Δ≦Ｕｕ≦Ｖｓｅｔ−Δとフローティング状態の非選択ワード線ＷＬの電位の範囲Δ≦Ｗｕ≦Ｖｍｉｎで電位差が生じる。このとき、非選択ビット線ＢＬの電位Ｕｕが‘０’状態のメモリセルＭＣを介して電位Ｗｓ＝Ｖｓｓの選択ワード線ＷＬへ放電されたとしても、非選択ビット線ＢＬの電位の範囲は、Ｖｓ≦Ｕｕ≦Ｖｓｅｔ−Δになる。また、非選択ワード線ＷＬに対して‘０’状態のメモリセルＭＣを介した電位Ｕｓ＝Ｖｓｅｔの選択ビット線ＢＬからの充電があったとしても、非選択ワード線ＷＬの電位の範囲は、Δ≦Ｗｕ≦Ｖｍｉｎになる。その結果、非選択ビット線ＢＬ及び非選択ワード線ＷＬ間の非選択メモリセルＭＣには状態を遷移させるようなバイアスは掛からないため、選択メモリセルＭＣの状態は遷移しない。
【０１６０】
また、選択ビット線ＢＬ及び非選択ワード線ＷＬ間の非選択メモリセルＭＣについては、選択ビット線ＢＬの電位がＵｓ＝Ｖｓｅｔに設定され、非選択ワード線ＷＬの電位が容量性カップリングの影響によってΔ≦Ｗｕ＜Ｖｍｉｎの範囲となる。そのため、セルユニットＣＵ１がセット状態の場合、セルユニットＣＵ２にはセット電位Ｖｓｅｔ以下の順方向バイアスしか掛からず、非選択メモリセルＭＣの状態は遷移しない。一方、セルユニットＣＵ１がリセット状態の場合、イニシャル・スタンバイ・フェーズ時においてビット線ＢＬ及びワード線ＷＬの電位が数μｓ間Ｖｍｉｎ−Δに維持され、中間ノード電位Ｖｍが上昇する。そのため、セルユニットＣＵ１にはセット電圧Ｖｓｅｔ以下の順方向バイアスしか掛からず、非選択メモリセルＭＣの状態は遷移しない。イニシャル・スタンバイ・フェーズにおける電位設定の持続時間が短く、非選択メモリセルＭＣの中間ノード電位Ｖｍが十分に上昇しない場合、‘２’状態のセルユニットＣＵ１にはセット電圧Ｖｓｅｔ近い順方向バイアスが掛かることになり、セルユニットＣＵ１はセット状態に遷移する可能性が少ないながらもある。
【０１６１】
また、選択メモリセルＭＣが‘０’ 状態に遷移しこの選択メモリセルＭＣに電流が流れると、選択ビット線ＢＬはビット線ドライバ２´から遮断される。そのため、選択ビット線ＢＬの電位Ｕｓは、電位Ｗｓ＝Ｖｓｓの選択ワード線ＷＬに引っ張られ接地電位Ｖｓｓに向かって低下する。しかし、‘０’ 状態のメモリセルＭＣは、順方向バイアスが低い程、実効的な抵抗値が高くなるため、非選択ビット線ＢＬの電位は、Ｕｕ＝Ｖｓｓ＋Δ程度で飽和してしまう。その結果、セルユニットＣＵ１には大きな逆方向バイアスが掛らないため、選択ビット線ＢＬ及び非選択ワード線ＷＬ間の非選択メモリセルＭＣの状態は遷移しない。
【０１６２】
非選択ビット線ＢＬ及び選択ワード線ＷＬ間の非選択メモリセルＭＣについては、選択ワード線ＷＬの電位がＷｓ＝Ｖｓｓに設定されている。また、非選択ビット線ＢＬには、隣接ビット線ＢＬから１００％の容量性カップリングの影響を受けるものとそうでないものが存在するため、非選択ビット線ＢＬの電位の範囲はＶｍｉｎ−２Δ≦Ｕｕ≦Ｖｓｅｔ−Δとなる。その結果、非選択ビット線ＢＬ及び選択ワード線ＷＬ間の非選択メモリセルＭＣには状態を遷移させるようなバイアスが掛からず、状態は遷移しない。
【０１６３】
＜‘０’状態設定時のバタフライ化したセルユニットＣＵ１又はＣＵ２を持つメモリセルの状態遷移＞
ここでは、セルユニットＣＵ１又はＣＵ２がバタフライ化したメモリセルＭＣに対する‘０’状態設定について図３３を用いて説明する。図３３中の表記については、図２６と同様である。
【０１６４】
バタフライ化したセット状態のセルユニットＣＵには逆方向バイアスが掛からないため、このセルユニットＣＵの両端には電位差が生じないと考えられる。この場合、選択メモリセルＭＣのリセット状態のセルユニットＣＵには、常にセット電圧Ｖｓｅｔの順方向バイアスが掛かるため、セット状態に遷移する。
【０１６５】
一方、非選択ビット線ＢＬ及び非選択ワード線ＷＬ間の非選択メモリセルＭＣについては、正常なメモリセルＭＣの場合と同様、非選択メモリセルＭＣには状態遷移するようなバイアスが掛からず、状態は遷移しない。
【０１６６】
これに対し、選択ビット線ＢＬ及び非選択ワード線ＷＬ間の非選択メモリセルＭＣ並びに非選択ビット線ＢＬ及び選択ワード線ＷＬ間の非選択メモリセルＭＣについては、バタフライ化したセット状態のセルユニットＣＵにバイアスが掛からない事と、非選択メモリセルＭＣに順方向バイアスしか掛からないことから、セルユニットＣＵにはセット電圧Ｖｓｅｔ以上のバイアスが掛からない。その結果、非選択メモリセルＭＣが誤遷移することはない。
【０１６７】
＜望ましい書き込みシーケンス＞
以上、セルユニットＣＵのバタフライ化を考慮し、選択メモリセルＭＣに対する状態設定毎に、メモリセルＭＣの状態遷移を説明した。
【０１６８】
そして、バタフライ化したセルユニットＣＵを持つ選択メモリセルＭＣは、‘１’状態から‘２’状態に遷移できないことが分かった。また、選択メモリセルＭＣに対する‘０’状態設定において、‘２’状態の非選択メモリセルＭＣが‘１’状態に誤遷移し得ることも分かった。即ち、これは、メモリセルＭＣ（‘２’）には、エラーとして‘１’状態のメモリセルＭＣが混入し得るということである。しかし、このエラーは、ペアセルＰＣにＺｐの要素を記憶させる実施形態に係る半導体記憶装置の場合、Ｚｐの要素の±１の変化に収まり、これは、リー・メトリック・コードの１の変化に相当する。つまり、このエラーは、ε＝１のＥＣＣシステムで対応可能であり、ε＝２のＥＣＣシステムに至っては余裕を持って対応することができる。
【０１６９】
図３４は、実施形態の書き込みシーケンスの一例である。
書き込みシーケンスとしては、初期状態設定（消去）によって、全てのメモリセルＭＣを‘１’状態にした後で他の状態を上書きする方法と、図３４に示すように、初期状態設定（消去）によって全てのメモリセルＭＣを‘０’状態にした後で他の状態を上書きする方法を説明した。このうち、前者の方法は、‘２’状態設定の際に‘１’状態に遷移させる必要がないため、その点においては後者の方法よりも単純であると考えられる。しかし、その一方、後者の方法は、電位設定とその電位設定の持続時間の設定が面倒な‘０’状態設定を無くすことができるため、書き込みシーケンスの全体の処理時間や手順の少なさ、処理の複雑さににおいて、後者の方法の方が優れており望ましい方法と言える。
【０１７０】
ここで改めて後者の方法によるの望ましい書き込みシーケンスをまとめると次のようになる。つまり、図３４に示すように、始めに、全てのメモリセルＭＣ（‘２’）、ＭＣ（‘１’）及びＭＣ（‘０’）を対象にして初期状態設定を実行する。これによって、メモリセルＭＣ（‘０’）を含めた全てのメモリセルＭＣが‘０’状態に遷移する。続いて、‘０’状態設定を実行することなく、選択メモリセルＭＣ（‘２’）及びＭＣ（‘１’）を対象にして‘１’状態設定を実行する。これによって、メモリセルＭＣ（‘１’）に対するデータの書き込みが完了する。最後に、選択メモリセルＭＣ（‘２’）を対象にして‘２’状態設定を実行する。これによってメモリセル（‘２’）に対するデータの書き込みが完了する。
【０１７１】
＜‘１’状態判定＞
ここからは、読み出しシーケンスにおける‘１’状態判定について説明する。なお、ここでは、１本の選択ワード線ＷＬに共通に接続された複数のメモリセルＭＣを同時にアクセスする場合を前提に説明する。
【０１７２】
‘１’状態判定は、前述の‘０’状態判定後に実行されるもので、前‘１’状態判定ステップと‘１’状態判定ステップに大別することができる。
【０１７３】
‘０’状態判定ステップ後、メモリセルアレイ１のバイアス状態は、図３５のようになる。つまり、‘０’状態判定ステップでは、非選択ワード線ＷＬは、電位がＷｕ＝Ｖａｃｃに設定された後、フローティング状態Ｗｕ〜になる。一方、選択ワード線ＷＬは、電位がＷｓ＝Ｖｓｓに設定される。また、例えば、‘０’状態判定の基準となる参照ビット線ＲＢＬ（‘０’）との比較で‘０’状態と判定された選択メモリセルＭＣ（‘０’）に接続された選択ビット線ＢＬ（‘０’）は、ビット線ドライバ２´から遮断される。そのため、これら選択ビット線ＢＬ（‘０’）の電位は接地電位Ｖｓｓに向かい低下し、最終的にＵｓ＝Ｖｓで安定する。電位Ｖｓは、Ｖｓｓ＋Δ程度の電位である。これは、選択ビット線ＢＬ（‘０’）からは２個のセルユニットＣＵ１及びＣＵ２を介して放電するが、セット状態のセルユニットＣＵ１又はＣＵ２は、バイアスが低い程、実効的な抵抗値が高くなるためである。一方、‘０’状態と判定されなかった選択メモリセルＭＣに接続された選択ビット線ＢＬと参照ビット線ＲＢＬ（‘０’）の電位はＵｓ＝Ｖａｃｃで維持される。非選択ビット線ＢＬ（図３５の場合、“非選択ＢＬ”）は、電位がＵｕ＝Ｖａｃｃに設定された後、フローティング状態Ｕｕ〜となる。このメモリセルアレイ１の状態において、ビット線ドライバ２´から遮断されずに残っている選択ビット線ＢＬに接続されている選択メモリセルＭＣが、‘１’状態又は‘２’状態のメモリセルＭＣとなる。そして、以下で説明する前‘１’状態判定ステップ及び‘１’状態判定ステップによって、これら選択メモリセルＭＣが‘１’状態か‘２’状態かを判定する。
【０１７４】
なお、‘１’状態判定は、選択メモリセルＭＣ（‘１’）を‘０’状態に遷移させる破壊読み出しであり、前述の‘０’状態設定と同様の過程を用いる。
【０１７５】
次に、前‘１’状態判定ステップについて、図３６を用いて説明する。
前‘１’状態判定ステップでは、選択メモリセルＭＣ（‘０’）に接続されており、ビット線ドライバ２´から遮断された選択ビット線ＢＬ（‘０’）、非選択ビット線ＢＬ及び参照ビット線ＲＢＬ（‘０’）の電位をＵｓ（‘０’）＝Ｕｕ＝Ｕｒ＝Ｖｍｉｎ−２Δ（Ｕｒは、参照ビット線の電位である。）、非選択ワード線ＷＬの電位をＷｕ＝Ｖｍｉｎ、選択ビット線ＢＬ及び選択ワード線ＷＬの電位をＵｓ＝Ｗｓ＝Ｖｍｉｎ−Δに設定し、これを数μｓの間維持する。この電位設定を数μｓの間維持するのは、非選択ビット線ＢＬ等に接続された非選択メモリセルＭＣ（‘２’）の中間ノード電位Ｖｍが上昇する時間をできるだけ確保し、中間ノード電位Ｖｍが低いことによって生じる非選択メモリセルＭＣ（‘２’）のセルユニットＣＵ１及びＣＵ２の誤遷移を防止するためである。前‘１’状態判定ステップにおける電位は、容量性カップリングに対するディスターブマージンを確保でき、初期段階においてメモリセルＭＣ（‘２’）の中間ノード電位Ｖｍが接地電位Ｖｓｓ近くであっても、当該メモリセルＭＣ（‘２’）のセルユニットＣＵが誤遷移しないような値となっている。
【０１７６】
次に、‘１’状態判定ステップについて、図３７を用いて説明する。
‘１’状態判定ステップでは、‘１’状態の破壊読み出しを行う。選択ビット線ＢＬ（‘０’）、非選択ビット線ＢＬ及び非選択ワード線ＷＬをフローティング状態にすると共に、選択メモリセルＭＣ（‘１’）のみが‘０’状態に遷移する電位設定を行い、この状態遷移時の選択ビット線ＢＬの電流変化によって選択メモリセルＭＣの状態を判定する。選択ビット線ＢＬの電位をＵｓ＝Ｖｓｅｔ、選択ワード線ＷＬの電位をＷｓ＝Ｖｓｓ、必要に応じて参照ビット線ＲＢＬ（‘０’）の電位をＵｒ（‘０’）＝Ｖａｃｃに設定する。そして、参照ビット線ＲＢＬ（‘０’）との電流比較などで、電流が大きくなった選択ビット線ＢＬを遮断する。ここで、この新たに遮断された選択ビット線ＢＬに接続された選択メモリセルＭＣが‘１’状態であり、遮断されない選択ビット線ＢＬに接続された選択メモリセルＭＣが‘２’状態であると判定できる。‘０’状態へ遷移したメモリセルＭＣ（‘１’）の電位Ｕｓ（‘０’）や、非選択メモリセルＭＣ（‘０’）を介して選択ワード線ＷＬ（‘０’）に接続される非選択ビット線ＢＬの電位Ｕｕは、電位Ｖｓに向けて変化する。この‘１’状態判定ステップは、前述の‘０’状態設定と同様の過程となる。
【０１７７】
以上説明した‘１’状態判定によって、選択メモリセルＭＣの状態が‘０’状態、‘１’状態或いは‘２’状態かを判定することができる。しかし、メモリセルＭＣ（‘１’）は、その状態が破壊されて‘０’状態に遷移してしまっているので、これを回復するための後述の‘１’状態再設定が必要となる。
【０１７８】
＜‘１’状態判定時の選択メモリセルの状態遷移＞
書き込みシーケンスでは、初期状態設定によってメモリセルＭＣを‘１’状態に遷移させた上で他の状態を上書きしていたのに対し、読み出しシーケンスでは、メモリセルＭＣの状態が‘１’状態であるとは限らない。
【０１７９】
そこで、ここでは、‘１’状態判定時の各ステップにおけるメモリセルＭＣの状態遷移について説明する。
【０１８０】
‘１’状態判定では、センスアンプＳＡによって、選択メモリセルＭＣ（‘０’）、ＭＣ（‘１’）及びＭＣ（‘２’）の状態を区別して検知するが、その過程において非選択メモリセルＭＣを誤遷移させるようなことがあってはならない。この点について、図３８を用いて確認する。
【０１８１】
図３８は、‘１’状態判定時の選択ビット線ＢＬ及び選択ワード線ＷＬ間の選択メモリセルの状態遷移を示す図である。
【０１８２】
始めに、‘０’状態判定ステップで、全てのビット線ＢＬ及びワード線ＷＬの電位がＵ＝Ｗ＝Ｖａｃｃに設定される。その後、非選択ビット線ＢＬ及び非選択ワード線ＷＬがフローティング状態になり、選択ビット線ＢＬの電位がＵｓ＝Ｖａｃｃに維持され、選択ワード線ＷＬの電位がＷｓ＝Ｖｓｓに設定される。その上で、選択メモリセルＭＣが‘０’状態かその他の状態かを判別する。そして、‘０’状態と判定された選択メモリセルＭＣ（‘０’）に接続された選択ビット線ＢＬ（‘０’）は電流が遮断される。その結果、選択ビット線ＢＬ（‘０’）の電位は、Ｕｓ（‘０’）＝Ｖｓ（≧Ｖｓｓ＋Δ）となる。選択メモリセルＭＣの中間ノード電位Ｖｍについては、図３８を参照されたい。
【０１８３】
続いて、前‘１’状態判定ステップでは、選択メモリセルＭＣ（‘０’）に接続された選択ビット線ＢＬ（‘０’）の電位がＵｓ（０）＝Ｖｍｉｎ−２Δ、その他の選択ビット線ＢＬの電位がＵｓ＝Ｖｍｉｎ−Δ、選択ワード線ＷＬの電位がＷｓ＝Ｖｍｉｎ−Δに設定される。その結果、セット状態のセルユニットＣＵ１を持つ選択メモリセルＭＣ（‘０’）及びＭＣ（‘１’）については、中間ノード電位Ｖｍが選択ビット線ＢＬの電位に設定される。この前‘１’状態判定ステップでは、どのセルユニットＣＵにも状態遷移するようなバイアスは掛らない。この電位設定がしばらく維持されることで、メモリセルＭＣ（‘２’）の中間ノード電位ＶｍがΔ以上に上昇しメモリセルＭＣ（‘２’）のセルユニットＣＵ１がセット状態に誤遷移することを防止する。この電位設定が短いと、続く‘１’状態判定ステップで、メモリセルＭＣ（‘２’）が‘１’状態に誤遷移する可能性が出てくることになる。
【０１８４】
最後に、‘１’状態判定ステップでは、選択ビット線ＢＬの電位がＵｓ＝Ｖｓｅｔ、選択ワード線ＷＬの電位がＷｓ＝Ｖｓｓに設定され、選択メモリセルＭＣ（‘１’）のみが‘０’状態に遷移する。そして、この選択メモリセルＭＣ（‘１’）にセル電流が多く流れ始めたら選択ビット線ＢＬ（‘１’）は、ビット線ドライバ２´から遮断され、フローティング状態になる。これよって、選択ビット線ＢＬ（‘１’）の電位Ｕｓは、電位Ｖｓで安定する。一方、メモリセルＭＣ（‘０’）に接続された選択ビット線ＢＬ（‘０’）は、始めからフローティング状態であるため、容量性カップリングの影響によって、その電位Ｕｓ（０）は、Ｖｍｉｎ−２Δ≦Ｕｓ（０）≦Ｖｓｅｔ−Δの範囲から電位Ｖｓに向けて放電される。このように、‘１’状態判定ステップでは、新たに‘０’状態に遷移したメモリセルＭＣ（‘１’）を検知することで、メモリセルＭＣ（‘１’）の状態を判定することができる。
【０１８５】
なお、選択メモリセルＭＣについては、セルユニットＣＵがバタフライ化していても、前述の‘０’状態設定の場合と同様、ディスターブの問題は生じない。
【０１８６】
＜‘１’状態読み出し時の選択ビット線に接続された非選択メモリセルの状態遷移＞
次に、‘１’状態判定時の選択ビット線ＢＬ及び非選択ワード線ＷＬ間の非選択メモリセルＭＣの状態遷移について図３９を用いて説明する。
【０１８７】
始めに、‘０’状態判定ステップで、選択ビット線ＢＬの電位がＵｓ＝Ｖａｃｃ、非選択ワード線ＷＬの電位がＷｕ＝Ｖａｃｃに設定される。その後、非選択ワード線ＷＬがフローティング状態になる。選択ビット線ＢＬに接続された選択メモリセルＭＣの中間ノード電位Ｖｍについては、図３９を参照されたい。
【０１８８】
続いて、前‘１’状態判定ステップでは、選択メモリセルＭＣ（‘０’）に接続された選択ビット線ＢＬ（‘０’）の電位がＵｓ（‘０’）＝Ｖｍｉｎ−２Δ、その他の選択ビット線ＢＬの電位がＵｓ＝Ｖｍｉｎ−Δ、非選択ワード線の電位がＷｕ＝Ｖｍｉｎに設定される。なお、選択ビット線ＢＬの電位は、選択メモリセルＭＣの状態によって、Ｕｓ（‘０’）又はＵｓにも該当するため、図３９では電位Ｕｓ（‘０’）を（）内で示している。セット状態のセルユニットＣＵ１を持つ‘０’状態及び‘１’状態のメモリセルＭＣの中間ノード電位Ｖｍは、選択ビット線ＢＬの電位Ｕｓに設定される。この前‘１’状態判定ステップでは、どのセルユニットＣＵにも状態遷移を起こすようなバイアスは掛らない。この電位状態をしばらく維持してメモリセルＭＣ（‘２’）の中間ノード電位ＶｍをΔ以上に上昇させてメモリセルＭＣ（‘２’）のセルユニットＣＵ１がセット状態に誤遷移しないようにする。この電位設定が短いと、続く‘１’状態判定ステップで、メモリセルＭＣ（‘２’）が‘１’状態に誤遷移する可能性が出てくることになる。
【０１８９】
最後に、‘１’状態判定ステップでは、選択ビット線ＢＬの電位がＵｓ＝Ｖｓｅｔ、選択ワード線ＷＬの電位がＷｓ＝Ｖｓｓに設定され、選択メモリセルＭＣ（‘１’）のみが‘０’状態に遷移する。非選択ワード線ＷＬは、この時フローティング状態であるので、容量性カップリングによって、電位がΔ≦Ｗｕ≦Ｖｍｉｎの範囲で分布する。非選択メモリセルＭＣ（‘０’）は、選択ビット線ＢＬの電位Ｕｓ＝Ｖｓｅｔがフローティング状態の非選択ワード線ＷＬに伝わり、非選択ワード線ＷＬの電位はＷｕ＝Ｖｓｅｔ−Δ程度になる。選択ビット線ＢＬの電位は、その後Ｕｓ＝Ｖｓｅｔのままか、ビット線ドライバ２´から遮断されたフローティング状態Ｖｓとなる。この場合であっても、セット電圧Ｖｓｅｔとリセット電圧Ｖｒｅｓｅｔが同程度であれば、メモリセルＭＣの状態に拘わらず、セルユニットＣＵ１がリセット状態に遷移するだけのバイアスは掛らないため、メモリセルＭＣの状態は遷移せず、ディスターブは生じない。
【０１９０】
なお、セルユニットＣＵがバタフライ化していても、前述の‘０’状態設定と同様、ディスターブの問題は生じない。
【０１９１】
＜‘１’状態読み出し時の選択ワード線に接続された非選択メモリセルの状態遷移＞
次に、‘１’状態判定時の非選択ビット線ＢＬ及び選択ワード線ＷＬ間の非選択メモリセルＭＣの状態遷移について図４０を用いて説明する。
【０１９２】
始めに、‘０’状態判定ステップでは、電位Ｖａｃｃで設定されたビット線ＢＬ及びワード線ＷＬのうち、選択ビット線ＢＬの電位がＵｓ＝Ｖａｃｃ、選択ワード線ＷＬの電位がＷｓ＝Ｖｓｓに設定され、非選択ビット線ＢＬがフローティング状態となっている。メモリセルＭＣ（‘０’）に接続されたフローティング状態の非選択ビット線ＢＬ（‘０’）の電位Ｕｕは、電位Ｖｓへと放電される。非選択ビット線ＢＬ及び選択ワード線ＷＬ間の非選択メモリセルＭＣの中間ノード電位Ｖｍについては、図４０を参照されたい。
【０１９３】
続いて、前‘１’状態判定ステップでは、非選択ビット線ＢＬの電位がＵｕ＝Ｖｍｉｎ−２Δ、選択ワード線ＷＬの電位がＷｓ＝Ｖｍｉｎ−Δに設定される。セット状態のセルユニットＣＵ１を持つメモリセルＭＣ（‘０’）及びＭＣ（‘１’）の中間ノード電位Ｖｍは、非選択ビット線ＢＬの電位Ｕｕに設定される。前‘１’状態判定ステップでは、どのセルユニットＣＵに対しても、状態遷移が起こるようなバイアスは掛らない。この電位設定をしばらく維持してメモリセルＭＣ（‘２’）の中間ノード電位Ｖｍを上昇させることで、メモリセルＭＣ（‘２’）のセルユニットＣＵ１のセット状態への誤遷移を回避するためのマージンを稼ぐ。 
【０１９４】
最後に、‘１’状態判定ステップでは、選択ビット線ＢＬの電位がＵｓ＝Ｖｓｅｔ、選択ワード線ＷＬの電位がＷｓ＝Ｖｓｓに設定され、メモリセルＭＣ（‘１’）のみが‘０’状態に遷移する。非選択ビット線ＢＬは、容量性カップリングによって、電位がＶｍｉｎ−２Δ≦Ｕｕ≦Ｖｓｅｔ−Δの範囲で分布する。非選択メモリセルＭＣ（‘０’）に接続されたフローティング状態の非選択ビット線ＢＬ（‘０’）の電位Ｕｕは、選択ワード線ＷＬに放電され電位Ｖｓ程度になる。そのため、非選択メモリセルＭＣ（‘０’）の中間ノード電位Ｖｍは、接地電位Ｖｓｓ程度になる。メモリセルＭＣの状態に拘わらず、セルユニットＣＵには状態遷移するだけのバイアスは掛からないため、メモリセルＭＣの状態は遷移しない。
【０１９５】
なお、セルユニットＣＵがバタフライ化していても、前述の‘０’状態設定と同様、ディスターブの問題は生じない。
【０１９６】
＜‘１’状態読み出し時の非選択ビット線及び非選択ワード線に接続された非選択メモリセルの状態遷移＞
【０１９７】
次に、‘１’状態判定時の非選択ビット線ＢＬ及び非選択ワード線ＷＬ間の非選択メモリセルＭＣの状態遷移について図４１を用いて説明する。
【０１９８】
始めに、‘０’状態判定ステップでは、電位Ｖａｃｃで設定されたビット線ＢＬ及びワード線ＷＬのうち、選択ビット線ＢＬの電位がＵｓ＝Ｖａｃｃ、選択ワード線ＷＬの電位がＷｓ＝Ｖｓｓで設定され、非選択ビット線ＢＬはフローティング状態になっている。メモリセルＭＣ（‘０’）に接続されたフローティング状態の非選択ビット線ＢＬ（‘０’）の電位Ｕｕは、電位Ｖｓへと放電される。非選択ビット線ＢＬ及び非選択ワード線ＷＬ間の非選択メモリセルＭＣの中間ノード電位Ｖｍについては、図４１を参照されたい。
【０１９９】
続いて、前‘１’状態判定ステップでは、非選択ビット線ＢＬの電位がＵｕ＝Ｖｍｉｎ−２Δ、非選択ワード線ＷＬの電位がＷｕ＝Ｖｍｉｎに設定される。セット状態のセルユニットＣＵ１を持つ非選択メモリセルＭＣ（‘０’）及び（‘１’）の中間ノード電位Ｖｍは、非選択ビット線ＢＬの電位Ｕｕに設定される。この前‘１’状態判定ステップでは、どのセルユニットＣＵに対しても、状態遷移が起こるようなバイアスは掛らない。
【０２００】
最後に、‘１’状態判定ステップでは、選択ビット線ＢＬの電位がＵｓ＝Ｖｓｅｔ、選択ワード線ＷＬの電位がＷｓ＝Ｖｓｓに設定され、メモリセルＭＣ（‘１’）のみが‘０’状態に遷移する。そのため、フローティング状態の非選択ビット線ＢＬは、当該非選択ビット線ＢＬ及び選択ワード線ＷＬ間の非選択メモリセルＭＣが‘０’状態である場合、電位Ｖｓに放電する。そうでない場合には、容量性カップリングによって、電位がＶｍｉｎ−２Δ≦Ｕｕ≦Ｖｓｅｔ−Δの範囲で分布し、結局、電位は、Ｖｓ≦Ｕｕ≦Ｖｓｅｔ−Δの範囲となる。非選択ワード線ＷＬは、容量性カップリングによって、電位がΔ≦Ｗｕ≦Ｖｍｉｎの範囲となる。メモリセルＭＣの状態に拘わらず、セルユニットＣＵには状態遷移するだけのバイアスは掛からないため、メモリセルＭＣの状態は遷移しない。
【０２０１】
なお、セルユニットＣＵがバタフライ化していても、前述の‘０’状態設定と同様、ディスターブの問題は生じない。
【０２０２】
以上、選択メモリセルＭＣに対する‘１’状態判定時のメモリセルＭＣの状態遷移を説明したが、いずれのメモリセルＭＣは遷移しないことが分かる。
【０２０３】
＜‘１’状態再設定＞
ここでは、破壊読み出しによって破壊された‘１’状態のメモリセルＭＣの状態を、‘０’状態に復帰させる‘１’状態再設定について説明する。
【０２０４】
図４２は、実施形態に係る半導体記憶装置のフローティングアクセス方式による読み出し動作の‘１’状態判定ステップ後のメモリセルアレイ１のバイアス状態を示す図である。
【０２０５】
選択メモリセルＭＣの状態の判別が終了した後、即ち‘１’状態判定後では、参照ビット線ＲＢＬ（‘０’）と選択メモリセルＭＣ（‘２’）が接続された選択ビット線ＢＬ（‘２’）及び選択ワード線ＷＬ以外のビット線ＢＬ及びワード線ＷＬはフローティング状態になっている。そのため、特に、選択ビット線ＢＬのうちメモリセルＭＣ（‘０’）及びＭＣ（‘１’）に接続された選択ビット線ＢＬ（‘０’）及びＢＬ（‘１’）の電位Ｕｓと非選択ビット線ＢＬのうち選択ワード線ＷＬとの間でメモリセルＭＣ（‘０’）を持つ非選択ビット線ＢＬの電位Ｕｕは、接地電位Ｖｓｓに向かって電位Ｖｓに放電される。このバイアス状態から‘１’状態再設定を行う。
【０２０６】
‘１’状態再設定の過程は、前‘１’状態再設定ステップと‘１’状態再設定ステップに大別することができる。これら前‘１’状態再設定ステップと‘１’状態設定ステップは、前述の‘１’状態設定のアクティブ・スタンバイ・フェーズと同様である。
【０２０７】
図４３は、実施形態に係る半導体記憶装置のフローティングアクセス方式による読み出し動作の前‘１’状態再設定ステップ時のメモリセルアレイ１のバイアス状態を示す図である。
【０２０８】
前‘１’状態再設定ステップでは、‘１’状態が判別された選択ビット線ＢＬの電位Ｕｓ（‘１’）を接地電位Ｖｓｓに設定すると、当該選択ビット線ＢＬに接続されたメモリセルＭＣが‘１’状態再設定の対象となる。他のビット線ＢＬ及びワード線ＷＬは、電位Ｕｓ＝Ｕｕ＝Ｗｓ＝Ｗｕ＝Ｖｍｉｎ−Δに設定する。これは前述の‘１’状態設定のアクティブ・スタンバイ・フェーズにおける選択ビット線ＢＬが選択ビット線ＢＬ（‘１’）であった場合に相当する。
【０２０９】
図４４は、実施形態に係る半導体記憶装置のフローティングアクセス方式による読み出し動作の‘１’状態再設定ステップ時のメモリセルアレイ１のバイアス状態を示す図である。
【０２１０】
‘１’状態再設定ステップでは、選択ワード線ＷＬの電位をＷｓ＝Ｖｒｅｓｅｔ＋Δとして、‘１’状態に遷移してしまったメモリセルＭＣ（‘０’）を‘１’状態に復帰させる。
【０２１１】
なお、非選択メモリセルＭＣへのディスターブや、セルユニットＣＵがバタフライ化した場合のメモリセルＭＣの状態遷移については‘１’状態設定と同様であるため説明は省略する。
【０２１２】
＜メモリセルアレイのアクセス禁止領域＞
ここでは、実施形態のメモリセルを用いた場合のアクセス禁止領域について説明する。
【０２１３】
図４５は、実施形態に係る半導体記憶装置のメモリセルアレイにおける欠陥発生時の処理方法を説明する図である。
【０２１４】
実施形態のように２つのセルユニットＣＵ１及びＣＵ２を積層して多値化したメモリセルＭＣを用いることで、フローティングアクセス方式の特徴であるメモリセルアレイ１に欠陥が発生した場合でも、従来の半導体記憶装置と比較して、メモリセルの有効範囲の縮小を抑えることができる。
【０２１５】
前述のように、セルユニットＣＵがバタフライ化して逆方向バイアスに対する抵抗値が低くなったメモリセルＭＣが発生した場合、当該メモリセルＭＣが属するメモリセルマットＭＭの全てのメモリセルＭＭの電位の設定ができなくなり、メモリセルＭＣとして有効でなくなってしまう。
【０２１６】
バタフライ化するセルユニットＣＵの確率をｂとすると、２つのセルユニットＣＵを積層してなるメモリセルＭＣ全体がバタフライ化する確率はｂ２となり、かなり低減される。そのため、セルユニットＣＵがバタフライ化したとしても、メモリセルＭＣの状態をＥＣＣによって訂正できるだけでなく、メモリセルＭＣ全体のリバース特性も保たれるため、メモリセルマットＭＭ内の他のメモリセルＭＣの利用に影響は及ばない。
【０２１７】
また、フローティングアクセス方式の場合、非選択ビット線ＢＬ及び非選択ワード線ＷＬがフローティング状態になるため、他のメモリセルマットＭＭに与える影響もない。
【０２１８】
つまり、メモリセルＭＣのセルユニットＣＵ１及びＣＵ２のいずれか一方に欠陥が生じても、図４５に示すように、メモリセルアレイ１の欠陥発生部位を選択するビット線及びワード線の同時アクセスドライブ禁止領域が、ＥＣＣ訂正不可能領域に一致するため、メモリセルマットＭＭ全体に及ぶことはない。そのため、ハードディスクと同様のアドレ管理によって、メモリセルアレイ１の一部に欠陥が発生した際の処理が非常に容易となる。
【０２１９】
以上のように、実施形態に係るメモリセルＭＣを用いたメモリセルアレイ１に対してフローティングアクセス方式によるアクセス動作をすることで、ＥＣＣのエラー訂正能力を超える欠陥が発生した場合であっても、その欠陥発生部位のアドレスへのアクセスを禁止するだけで、メモリセルアレイ１の他の正常な領域を最大限利用することができる。
【０２２０】
＜ペアセルに対するアクセス＞
実施形態では、前述のように、Ｚｐ（ｐ＝７）の要素をペアセルＰＣの９つの状態に対応付けてデータを記憶する。そのため、これらペアセルＰＣを同時に選択できれば、高速なアクセスに資する。実施形態のメモリセルＭＣの場合、ワード線に共通に接続されたメモリセルＭＣの場合、同時にアクセスが可能である。そこで、ここでは、ペアセルＰＣの構成方法について説明する。
【０２２１】
図４６〜図４８は、実施形態に係る半導体記憶装置におけるペアセルの構成例を説明する図である。
【０２２２】
図４６は、同一のメモリセルマットＭＭ１内の２つのメモリセルＭＣでペアセルＰＣを構成する例である。具体的には、メモリセルマットＭＭ２のうち、ビット線ＢＬ２０及びワード線ＷＬ１０間のメモリセルＭＣ２００と、ビット線ＢＬ２１及びワード線ＷＬ１０間のメモリセルＭＣ２０１によってペアセルＰＣが構成されている。実施形態に係る半導体記憶装置の場合、１本のワード線ＷＬに対して複数ビット線ＢＬを選択することで、データの転送効率を上げることが前提となっているため、この例のように同一のメモリセルマットＭＭ内でペアセルＰＣを構成するの容易である。特に、メモリセルマットＭＭ内でセンスアンプ系（ＳＡ）などを共有化できるため、レイアウトの観点からも望ましい例と言える。
【０２２３】
図４７及び図４８は、異なるメモリセルマットＭＭの２つのメモリセルＭＣ０、ＭＣ１でペアセルＰＣを構成する例である。これら構成例の場合、メモリセルＭＣ０及びＭＣ１に同時にアクセスするには、少なくともワード線ＷＬを共有する２つのメモリセルマットＭＭの選択が必要となる。
【０２２４】
図４７は、メモリセルマットＭＭ１内のビット線ＢＬ１０及びワード線ＷＬ１０間のメモリセルＭＣ１００と、メモリセルマットＭＭ１とワード線ＷＬを共有するメモリセルマットＭＭ２内のビット線ＢＬ２１及びワード線ＷＬ１０間のメモリセルＭＣ２０１によってペアセルＰＣが構成されている。この場合、ビット線ＢＬ００とビット線ＢＬ２１が異なるビット線グループに属しているため、センスアンプ系（ＳＡ）のメモリセルマットＭＭの選択回路が少々複雑になる。
【０２２５】
図４８は、メモリセルマットＭＭ１内のビット線ＢＬ００及びワード線ＷＬ１０間のメモリセルＭＣ１００と、メモリセルマットＭＭ１とワード線ＷＬを共有するメモリセルマットＭＭ２内のビット線ＢＬ２０及びワード線ＷＬ１０間のメモリセルＭＣ２００によってペアセルＰＣが構成されている。この場合、ビット線ＢＬ００とビット線ＢＬ２０が同一のビット線グループに属しているため、メモリセルマットＭＭ１とメモリセルマットＭＭ２では、異なるセンスアンプ系（ＳＡ）が必要となる。
【０２２６】
以上の点から、図４７及び図４８に示すペアセルＰＣの構成例は、半導体記憶装置の仕様やレイアウトについて制約が多い場合など、採用される用途は限定的である。
【０２２７】
なお、図４６〜図４８に示したペアセルＰＣの構成例は、いずれも選択ワード線ＷＬ上では参照電流を供給する参照セルＲＣを選択する参照ビット線ＲＢＬも同時に選択される。なお、参照セルＲＣは‘０’ 状態に設定されたメモリセルＭＣであり、ここに流れるセル電流をカレントミラーで小さくすることで、メモリセルＭＣに流れるセル電流と比較するための参照電流が作られる。
【０２２８】
＜複数のメモリセルに対する並列アクセス＞
ペアセルＰＣで構成される多値記憶の半導体記憶装置は、メモリセルＭＣの書き込み動作は複雑であったり、読み出し動作も破壊読出しでリカバリーのためのデータの再設定を伴ったりするため、アクセスに必要なサイクル時間は、１０μｓ程度と長くなってしまう。
【０２２９】
そこで、データ転送の効率を向上させるには、メモリセルアレイ１内の同時選択できるビット線ＢＬを全て駆動しておき、多くのデータの転送を同時に行う並列アクセスが必須となる。以下に複数のメモリセルＭＣに対する並列アクセスする方法について図４９を用いて説明する。
【０２３０】
書き込み動作、読み出し動作に拘わらず、そのシーケンスの中の選択ワード線ＷＬに電位を設定して選択メモリセルＭＣにアクセスをするまでは、メモリセルマットＭＭ内の電位状況は、場所に応じて自己整合的にほぼ一定になっている。そのため、ビット線ＢＬとワード線ＷＬの交差部のメモリセルＭＣを選択する過程を選択ワード線ＷＬ毎に一から繰り返さなくても、一組のメモリセルＭＣに対するアクセスができる。
【０２３１】
アクセスシーケンスのどのフェーズ／ステップから繰り返すかは、４種類のアクセスシーケンス（初期状態設定、‘２’状態設定、‘１’状態設定、‘０’状態設定及び読み出し動作）毎に異なるが、アクセスシーケンスの全過程を繰り返す必要はないため、短いサイクルで高速なアクセスを実現することができる。
【０２３２】
したがって、選択ビット線ＢＬのスキャンを行わずに同じビット線ＢＬを選択し続け、ワード線ＷＬは切り替える度に、アクセスシーケンス毎に途中のフェーズ／ステップから処理を続ける。
【０２３３】
一組のワード線ＷＬ群に対して、同じアクセスシーケンスを、選択ワード線を順次切り替えながら、繰返しの先頭フェーズ／ステップの電位設定をして、一連のフェーズ／ステップを実行すれば、そのワード線ＷＬに関するアクセスが完了する。ここで、一組のワード線ＷＬ群を「ワード線セット」と呼ぶことにする。メモリセルマットＭＭは、このワード線セットが複数備わっている。図４９の場合、メモリセルアレイ１上の斜線で表した部分がワード線セット１つ分となる。
【０２３４】
ここで説明した並列アクセスの場合、ある状態設定の書き込みシーケンスをワード線セット全体に対して実行するため、ワード線セットを構成するメモリセルＭＣ分の情報を一時的に保持しておくバッファが必要となる。
【０２３５】
データの転送効率について具体例で説明する。Ｚｐ（ｐ＝７）の要素を記憶するε＝１のリー・メトリック・コードのＥＣＣを考えると、１コードは、６つのペアセルＰＣで記憶され、１コードには、９ビットの訂正可能情報を構成することができる。８Ｋ（ワード線）×４Ｋ（ビット線）を有するメモリセルマットＭＭの場合、全てのビット線ＢＬから同時にデータ転送を行うことができるとして、ワード線ＷＬ毎のデータアクセスに必要な１サイクルの時間を２０μｓとし、４Ｋ×（１／２）のペアセルＰＣを選択する。この場合、これは４Ｋ×（１／２）×（１／６）コードになり、これは３Ｋビットの訂正可能情報となるため、訂正可能情報の転送効率は、３Ｋ／２０μｓ＝１５０Ｍｂｐｓとなる。
【０２３６】
図４９中（Ｂ）に示すように、Ｎ個のメモリセルマットＭＭに同時にアクセスすれば、Ｎ倍の転送可能情報の転送効率、即ちＮ倍のバンド幅を得ることもできる。但し、各ワード線セットに対応するバッファのサイズも大きくする必要がある。バッファのサイズを変えず、ワード線セットのサイズを１／Ｎにしても良いが、この場合、ワード線ＷＬのスキャン本数は、当然１／Ｎになる。
【０２３７】
［半導体記憶装置の具体的構成］
＜全体構成＞
前述の実施形態のメモリセルＭＣを用いた半導体記憶装置の構成例の概要について、図５０に示すブロック図を用いて説明する。
【０２３８】
メモリセルＭＣには、例えば、銀イオンなどの固体電解質中での析出を利用した所謂イオンメモリを用いる場合を前提とする。
【０２３９】
図５０に示す半導体記憶装置は、大別して、メモリデバイス１００と、このメモリデバイス１００を制御するメモリコントローラ２００からなる。
【０２４０】
メモリデバイス１００には、メモリセルアレイ１と、メモリコントローラ２００及びメモリセルアレイ１間のデータ送受をするためのバッファ・レジスタが含まれる。
【０２４１】
メモリセルアレイ１は、メモリセルＭＣであるイオンメモリをマトリックス状に配列してなるメモリセルマットＭＭによって複数に分割されている。更に、各メモリセルマットＭＭは、複数のワード線セットによって構成されている。
【０２４２】
これらワード線セットは、前述の通り、アクセスの高速化を図るための領域であり、データの転送効率を向上させるために、複数のメモリセルマットＭＭそれぞれのワード線セットは、同時にアクセスされる。バッファ・レジスタは、これら同時にアクセスされるワード線セット内のメモリセルＭＣに読み書きするデータを保持する。
【０２４３】
メモリコントローラ２００は、外部から入力されたデータのメモリデバイス１００への書き込み、メモリデバイス１００のメモリセルアレイ１が記憶するデータのＥＣＣの処理などに必要な制御を行う。
【０２４４】
＜コントローラによるデータの処理＞
ここでは、コントローラのデータ処理について、多値記憶のメモリセルを用いた実施形態に特徴的な部分を中心に説明する。
【０２４５】
実施形態に半導体記憶装置は、９つの状態を記憶可能なペアセルＰＣの各状態にＺｐ（ｐ＝７）の各要素を対応付けるものであり、エラーは、リー・メトリック・コードにおいて１の範囲で収まるため、搭載すべきＥＣＣシステムのエラー訂正能力がε＝１で良い。但し、ここでは、ε＝２の場合についても少し言及しておく。
【０２４６】
図５１は、エラー訂正能力をε＝１とした場合の実施形態に係る半導体記憶装置のメモリコントローラ２００の機能ブロック図である。
【０２４７】
データの書き込みは、始めに、Ｍ＝９ビットずつのまとまりでバイナリのデータＤがメモリコントローラ２００に入力される。このデータＤは、７進数変換部２０１に入力される。
【０２４８】
７進数変換部２０１では、バイナリ表現のデータＤを、各桁がＺｐ（ｐ＝７）の要素となる７進数表現に変換してデータＡを生成する。このデータＡは、エンコード部２０２に入力される。
【０２４９】
エンコード部２０２は、データＡをリー・メトリック・コードＣに変換する。このコードＣは、メモリデバイス１００に転送され、９値の記憶が可能なペアセルＰＣ（イオンメモリ）にプログラムされる。
【０２５０】
データの読み出しは、始めに、メモリデバイス１００からコードＹを読み出す。このコードＹは、多値レベルの誤認識のエラーを含んだリー・メトリック・コードである。以降、このコードＹからエラーのないリー・メトリック・コードＣを復元する。コードＹは、シンドローム生成部２０３に入力される。
【０２５１】
シンドローム生成部２０３では、コードＹからシンドロームをＳ＝ＹＨｔ（Ｈはシンドローム行列であり、Ｈｔはその転置行列である）によって求める。Ｓの成分が値を持つ場合（Ｓ≠０）、この演算で得られたＳ０のリー・メトリック｜Ｓ０｜≠１であれば、エラー訂正ができないためＮＧ信号を出力して処理を中止する。この場合、コードＹのエラーをそのままエラー無しのデータとして外部に出力させる。Ｓ＝０の場合、この場合はデータＹにエラーがない場合であるため、やはりコードＹをそのまま外部に出力させる。その他のシンドロームＳの場合、シンドロームＳは解探索多項式生成部２０４に入力される。
【０２５２】
解探索多項式生成部２０４では、シンドロームＳ＝（Ｓ０，Ｓ１）からψ１＝Ｓ１として、多項式Ψ（ｘ）＝１＋Ψ１ｘとΨ＊（ｘ）＝１−ψ１ｘを生成する。これら多項式Ψ（ｘ）及びΨ＊（ｘ）は、エラー探索部２０５及び２０６で順次処理される。
【０２５３】
エラー探索部２０５及び２０６では、Ｓ０＝１の場合、多項式λ（ｘ）＝Ψ（ｘ）とν（ｘ）＝１とし、或いは、Ｓ０＝−１の場合、多項式λ（ｘ）＝１とν（ｘ）＝Ψ＊（ｘ）とするとキー条件を満足し、エラー成分の位置ｔ＝ｒ−１＝Ｓ０Ｓ１及びエラー量ｅｔ＝Ｓ０を求める。このエラー量ｅｔは、コード復元部２０７に入力される。
【０２５４】
コード復元部２０７では、エラー量からｃｔ＝ｙｔ−ｅｔとして、コードＣを復元する。このコードＣは、デコード部２０８に入力される。
【０２５５】
デコード部２０８では、コードＣのｐ進数の各桁をＺｐ（ｐ＝７）の要素に変換しデータＡを復元する。このデータＡは、２３進数変換部２０９に入力される。
【０２５６】
２３変換部２０９では、ｐ進数表現のデータＡをバイナリ表現のデータＤに変換し、メモリコントローラ２００の外部に出力する。
【０２５７】
図５１は、エラー訂正能力をε＝１とした場合の最も簡単なリー・メトリック・コードを用いたＥＣＣシステムを搭載したメモリコントローラ２００の処理について説明した。しかし、より強いエラー訂正能力が欲しい場合もある。そこで、次に、エラー訂正能力をε＝２とした場合のリー・メトリック・コードを用いたＥＣＣシステムを搭載したメモリコントローラ２００について説明する。ここでは、図５１の例と同様、ｐ＝７とした場合について説明する。
【０２５８】
図５２は、エラー訂正能力をε＝２とした場合の実施形態に係る半導体記憶装置のメモリコントローラ２００の機能ブロック図である。
【０２５９】
データの書き込みは、始めに、Ｍ＝６ビットずつのまとまりでバイナリのデータＤがメモリコントローラ２００に入力される。このデータＤは、７進数変換部２０１に入力される。
【０２６０】
７進数変換部２０１では、バイナリ表現のデータＤを、各桁がＺｐ（ｐ＝７）の要素となる７進数表現に変換してデータＡを生成する。このデータＡは、エンコーダ部２０２に入力される。
【０２６１】
エンコーダ部２０２では、データＡをリー・メトリック・コードＣに変換する。このコードＣは、メモリデバイス１００に転送され、９値の記憶が可能なペアセルＰＣ（イオンメモリ）にプログラムされる。
【０２６２】
データの読み出しは、始めに、メモリデバイス１００からコードＹを読み出す。このコードＹは、多値レベルの誤認識のエラーを含んだリー・メトリック・コードである。以降、このコードＹからエラーのないリー・メトリック・コードＣを復元する。コードＹは、シンドローム生成部２０３に入力される。
【０２６３】
シンドローム生成部２０３では、コードＹからシンドロームをＳ＝ＹＨｔによって求める。Ｓの成分が値を持つ場合（Ｓ≠０）、この演算で得られたＳ０のリー・メトリック｜Ｓ０｜＞２であれば、個々のエラーコード成分の和は必ず３以上になるため、エラー訂正ができないためＮＧ信号を出力して処理を中止する。この場合、コードＹのエラーをそのままエラー無しのデータとして外部に出力させる。Ｓ＝０の場合、この場合はコードＹにエラーがない場合であるため、やはりコードＹをそのまま外部に出力させる。その他のシンドロームＳの場合、シンドロームＳは、解探索多項式生成部２０４に入力される。
【０２６４】
解探索多項式生成部２０４では、シンドロームＳ＝（Ｓ０，Ｓ１，Ｓ２）からψ０＝１、ψ１＝−Ｓ１、ψ２＝−（ψ１Ｓ１＋ψ０Ｓ２）／２として、多項式Ψ（ｘ）を生成する。この多項式Ψ（ｘ）は、ユークリッド反復法処理部２５１に入力される。
【０２６５】
ユークリッド反復法処理部２５１では、多項式Ψ（ｘ）とｘ３からユークリッド反復法で多項式λ（ｘ）＝ｆｎとν（ｘ）＝ｐｎ−１を求める。ここで、多項式λ（ｘ）及びν（ｘ）を求めることができない場合、ＮＧ信号を出力して処理を中止する。この場合、コードＹのエラーをそのままエラー無しのデータとしてして外部に出力させる。これら多項式λ（ｘ）及びν（ｘ）は、エラー探索部２５２及び２５３で順次処理される。
【０２６６】
エラー探索部２５２及び２５３では、多項式λ（ｘ）及びν（ｘ）の根と多重度からエラー成分の位置ｔとエラー量ｅｔを求める。即ち、多項式λ（ｘ）及びν（ｘ）が２次以下の多項式であるので、λ（ｒ）＝０から根ｒ及び多重度ｎを求め、エラー成分の位置ｔ＝ｒ−１及びエラー量ｅｔ＝ｎを求める。同様に、ν（ｒ）＝０から根ｒ及び多重度ｎを求め、エラー成分の位置ｔ＝ｒ−１及び位置ｔ＝７−ｎを求める。このエラー量ｅｔは、コード復元部２０７に入力される。
【０２６７】
コード復元部２０７では、エラー量ｅｔからｃｔ＝ｙｔ−ｅｔとして、コードＣを復元する。このコードＣは、デコード部２０８に入力される。
【０２６８】
デコード部２０８では、コードＣのｐ進数の各桁をＺｐ（ｐ＝７）の要素に変換しデータＡを復元する。このデータＡは、２３進数変換部２５４に入力される。
【０２６９】
２３進数変換部２５４では、ｐ進数表現のデータＡをバイナリ表現のデータＤに変換し、メモリコントローラ２００の外部に出力する。
【０２７０】
なお、以下において、メモリデバイス１００などバイナリでデータを取り扱う環境を「ｂｉｎａｒｙ  ｗｏｒｌｄ」と呼ぶことにする。これに対し、データをＺｐの数で取り扱うメモリコントローラ２００などの環境を「ｐ−ａｄｉｃ  Ｚｐ  ｗｏｒｌｄ」と呼ぶことにする。この場合「ｂｉｎａｒｙ  ｗｏｒｌｄ」は、「ｐ−ａｄｉｃ  Ｚ２  ｗｏｒｌｄ」と呼ぶこともできる。
【０２７１】
＜７進数変換部＞
ここからは、メモリコントローラ２００におけるデータ処理で用いる各機能ブロックについて説明する。
【０２７２】
先ず、メモリコントローラ２００の入口と出口において必要となるバイナリとｐ進数（７進数）の変換回路について説明する。
【０２７３】
図５３は、ｐ＝７とした場合の「ｂｉｎａｒｙ  ｗｏｒｌｄ」のδ桁の２ｈ進数のデータＤ（ｄ０，ｄ１，・・・，ｄδ−１）を「ｐ−ａｄｉｃ  Ｚｐ  ｗｏｒｌｄ」のδ＋１桁のｐ進数のデータＡ（ａ０，ａ１，・・・，ａδ−１，ａδ）に変換する変換回路の構成を模式的に示した図である。図５３中のハッチングで示す部分は、処理が終了したデータを示している。
【０２７４】
なお、図５３に示す“３  ｒｅｓ”と示した四角は、入力されたバイナリデータを７で割り、商と剰余を求める演算回路である。この演算回路の入力は３ビットのバイナリデータであり、出力はこのバイナリデータを７で割った剰余となる。また、入力されたバイナリデータが７より大きい場合、商をキャリーＣとして出力する。以下、この演算回路素子を“３  ｒｅｓ”回路ブロックと呼ぶ。
【０２７５】
始めに、第０ステップ（図５３中Ｓ０）では、３桁の２３進数のデータＤ（ｄ０，ｄ１，ｄ２）に対して最右側のｄ２側から７の数え上げを行う。ここでは、ｄ２に対して、“３  ｒｅｓ”回路ブロックに入力された４ビットのバイナリデータの最上位ビットに０を入れてｄ２を７で割った剰余と共に商であるキャリーＣ１６を直接生成する。
【０２７６】
続いて、１〜３ビット目が先の“３  ｒｅｓ”回路ブロックの出力（３ビットで表現された剰余）、０ビット（最下位ビット）目がｄ１の最上位ビットＤ１２（＝Ｄ８）である４ビットのバイナリデータを入力とする次の“３  ｒｅｓ”回路ブロックによって、入力されたバイナリデータを７で割った剰余と共に商であるキャリーＣ１５を作る。
【０２７７】
以降、“３  ｒｅｓ”回路ブロックに入力される４ビットのバイナリデータのうちの０ビット目がｄ０の最下位ビットＤ００（＝Ｄ０）になるまで、７個の“３  ｒｅｓ”回路ブロックを用いてキャリーＣ１０〜Ｃ１６を生成する。これら生成されたキャリーＣ１０〜Ｃ１６によって表現されるバイナリデータは、データＤに含まれる７の個数になっている。
【０２７８】
そして、ｄ０を入力とする“３  ｒｅｓ”回路ブロックの出力が、４桁の７進数のデータＡ（ａ０，ａ１，ａ２，ａ３）のうち、ａ０のバイナリ表示になる。
【０２７９】
続いて、第１ステップ（図５３中Ｓ１）では、第０ステップで得られたデータＤに含まれる７の個数に対して、更に７がいくつ含まれるかを計算して７２の個数を求め、７進数のデータＡの重み７１の桁の係数ａ１のバイナリを求める。
【０２８０】
第１ステップでは、キャリーＣ１０〜Ｃ１６に対して最右側のＣ１６側から７の数え上げを行う。キャリーＣ１４〜Ｃ１６に対する７の数え上げに際しては、４ビットの入力バイナリデータの最上位ビットに０を入れて入力バイナリデータを７で割った剰余と共にキャリーＣ２４を直接生成する。
【０２８１】
続いて、１〜３ビット目が先の“３  ｒｅｓ”回路ブロックの出力（３ビットで表現された剰余）、０ビット（最下位ビット）目がＣ１３である４ビットのバイナリデータを入力とする次の“３  ｒｅｓ”回路ブロックによって、入力されたバイナリデータを７で割った剰余と共に商であるキャリーＣ２３を生成する。
【０２８２】
以降、“３  ｒｅｓ”回路ブロックに入力される４ビットのバイナリデータのうちの０ビット目がＣ１ｉの最下位ビットＣ１０になるまで、５個の“３  ｒｅｓ”回路ブロックを用いてキャリーＣ２０〜Ｃ２４を生成する。これら生成されたキャリーＣ２０〜Ｃ２４によって表現されるバイナリデータは、データＤに含まれる素数７２の個数になっている。
【０２８３】
そして、Ｃ１０を入力とする“３  ｒｅｓ”回路ブロックの出力が、４桁の７進数のデータＡ（ａ０，ａ１，ａ２，ａ３）のうち、ａ１のバイナリになる。
【０２８４】
続く第２ステップ（図５３中Ｓ２）では、第１ステップで得られたデータＤに含まれる７２の個数に対して、更に素数７がいくつ含まれるかを計算して７３の個数を求め、７進数のデータＡの重み７２の桁の係数ａ２のバイナリを求める。
【０２８５】
以降、同様に７進数の重み７３の桁の係数ａ３のバイナリ表示を求める第３ステップ（図５３中Ｓ３）まで行う。
なお、第３ステップのキャリーＣ４０は計算には使用しない。
【０２８６】
次に、“４  ｂｉｔ  ｍｏｄ  ７”回路ブロックを用いた７進数変換部２０１の構成について考える。ここで、“４  ｂｉｔ  ｍｏｄ  ７”回路ブロックとは、４ビットのバイナリデータである入力Ａと、素数７を比較し、Ａが７以上の場合にＰＦ０＝‘１’を出力すると共に、Ａの素数７による剰余Ｑを出力する回路である。詳細については後述する。
【０２８７】
図５４中（Ａ）は、７進数変換部２０１の第ｋステップの回路を、“４  ｂｉｔ  ｍｏｄ  ７”回路ブロックを用いて構成したものである。
【０２８８】
ここでは、データを３桁の２３進数表現にした場合の第ｊ桁目をｄｊとする。この場合、ｄｊは３ビットのバイナリで表示できるが、この表示の係数Ｄを他のｄの係数Ｄと共通に表現するために、数１に示すようにサブインデックスを用いる。
［数１］
2013122797.tif 000003
【０２８９】
また、第ｋステップの演算の入力である前ステップ（第ｋ−１ステップ）のキャリーはＣｋ０〜Ｃｋ３（３−ｋ）＋ｋ−１であり、各々のＣｋｊはサブインデックスｊを２の累乗の指数とする２進数としての係数となっていて、この２進数によって表現される数ΣＣｋｊ２ｊがデータに含まれる７ｋの個数となる。
【０２９０】
第ｋステップでは、図５４中（Ａ）に示すように、入力は３（３−ｋ）＋ｋ個のバイナリ（キャリーＣｋ０〜Ｃｋ３（３−ｋ）＋ｋ−１）であり、これを３（３−（ｋ＋１））＋ｋ＋１個の“４  ｂｉｔ  ｍｏｄ  ７”回路ブロックで受ける。
【０２９１】
１つ目の“４  ｂｉｔ  ｍｏｄ  ７”回路ブロック＜１＞は、入力バイナリＡ０〜Ａ２、Ａ３に、それぞれＣｋ３（３−ｋ）＋ｋ−３〜Ｃｋ３（３−ｋ）＋ｋ−１、０を入力し、出力Ｑ０〜Ｑ３、キャリーＰＦ０から、それぞれＲ３（３−（ｋ＋１））＋ｋ０〜Ｒ３（３−（ｋ＋１））＋ｋ２、Ｃｋ＋１３（３−（ｋ＋１））＋ｋを出力する。
【０２９２】
図示しない２つ目の“４  ｂｉｔ  ｍｏｄ  １３”回路ブロック＜２＞は、入力バイナリＡ０、及びＡ１〜Ａ３にそれぞれキャリーＣｋ３（３−（ｋ＋１））＋ｋ−１、及び１つ目の“４  ｂｉｔ  ｍｏｄ  ７”回路ブロック＜１＞の出力Ｒ３（３−（ｋ＋１））＋ｋ０〜Ｒ３（（３−（ｋ＋１））＋ｋ２を入力し、出力Ｑ０〜Ｑ２、及びキャリーＰＦ０から、それぞれＲ３（３−（ｋ＋１））＋ｋ−１０〜Ｒ３（３−（ｋ＋１））＋ｋ−１２、及びＣｋ＋１３（３−（ｋ＋１））＋ｋ−１を出力する。
【０２９３】
以降、図５４中（Ａ）に示すように、同様の入出力を持つ“４  ｂｉｔ  ｍｏｄ  ７”回路ブロックが、合計３（３−（ｋ＋１））＋ｋ＋１個並び、各“４  ｂｉｔ  ｍｏｄ  ７”回路ブロックから出力されるキャリーＣｋ＋１０〜Ｃｋ＋１３（３−（ｋ＋１））＋ｋが、次のステップである第ｋ＋１ステップの入力となる。
【０２９４】
このように、バイナリから７進数への変換は、図５４中（Ｂ）に示す模式図のように、キャリーＣの最上位ビット側から順次実行される。
【０２９５】
図５４中（Ａ）は、第ｋステップに関係する回路構成であるが、各ステップを時分割で処理することで、図５４中（Ａ）に示す回路構成を各ステップで使い回すことができる。この場合、各“４  ｂｉｔ  ｍｏｄ  ７”回路ブロックの入出力を単純なオン／オフによって制御可能にするために、“４  ｂｉｔ  ｍｏｄ  ７”回路ブロックの必要数が最大となる第０ステップの回路構成に、更に、６個の“４  ｂｉｔ  ｍｏｄ  ７”回路ブロックが付加される。
【０２９６】
この様に構成された１３個の“４  ｂｉｔ  ｍｏｄ  ７”回路ブロックからなる回路を図５５に示す。以下において、この回路を“Ｘ  ｔｏ  ｐ”回路ブロックと呼ぶ。
【０２９７】
図５６に示すように、この“Ｘ  ｔｏ  ｐ”回路ブロックの入力は、Ｃ００〜Ｃ０１４の合計１５個となっている。また、出力は、３個おきの“４  ｂｉｔ  ｍｏｄ  ７”回路ブロックから出力される４個の３ビットのバイナリＲ００〜Ｒ０２、Ｒ３０〜Ｒ３２、Ｒ６０〜Ｒ６２、Ｒ９０〜Ｒ９２と、次のステップの入力となる１３個のキャリーＣ１０〜Ｃ１１２となる。
【０２９８】
次に、図５３に示した“３  ｒｅｓ”回路ブロックである“４  ｂｉｔ  ｍｏｄ  ７”回路ブロックについて具体的に説明する。
【０２９９】
図５７は、“４  ｂｉｔ  ｍｏｄ  ７”回路ブロックの回路記号を示す図である。“４  ｂｉｔ  ｍｏｄ  ７”回路ブロックは、４ビットのバイナリＡ０〜Ａ３を入力し、３ビットのバイナリＱ０〜Ｑ２及びキャリーＰＦ０を出力する。
【０３００】
“４  ｂｉｔ  ｍｏｄ  ７”回路ブロックは、入力バイナリＡの素数７による剰余Ｑを出力すると共に、入力バイナリＡが７以上の場合にＰＦ０から‘１’、７未満の場合にＰＦ０から‘０’を出力する。
【０３０１】
ここで、ｈ＝３、ｐ＝７の場合、バイナリＡ、バイナリＱ、素数ｐの間には、数２に示す関係が成立する。
［数２］
2013122797.tif 000004
【０３０２】
図５８は、“４  ｂｉｔ  ｍｏｄ  ７”回路ブロックのブロック図である。
“４  ｂｉｔ  ｍｏｄ  ７”回路ブロックは、ＰＦ０生成部Ｕ１及び３個の半加算器（Ｈａｌｆ  ａｄｄｅｒ）ＨＡ１〜ＨＡ３を有する。
【０３０３】
ＰＦ０生成部Ｕ１は、所定の電圧が供給されるＶｃｃ端子と、接地電圧が供給されるＶｓｓ端子との間に、直列に接続されたＰＭＯＳトランジスタＱＰ１及び、ＱＰ２及びＮＭＯＳトランジスタＱＮ１〜ＱＮ３を有する。これらトランジスタＱＰ１、ＱＰ２、ＱＮ１、ＱＮ２、及びＱＮ３は、それぞれＡ３、Ａ０、Ａ０、Ａ０、及びＡ１で制御される。
【０３０４】
また、ＰＦ０生成部Ｕ１は、その他に、２個のＰＭＯＳトランジスタＱＰ２、ＱＰ３、ＮＭＯＳトランジスタＱＮ４、及びインバータＩＶ１を有する。
【０３０５】
トランジスタＱＰ３、ＱＰ４は、それぞれ、トランジスタＱＰ２のソース及びドレイン間に並列に接続されている。トランジスタＱＮ４は、トランジスタＱＮ１のソース及びトランジスタＱＮ３のドレイン（Ｖｓｓ端子）間に並列に接続されている。これらトランジスタＱＰ３、ＱＰ４及びＱＮ４は、それぞれＡ１、Ａ２及びＡ３で制御される。
【０３０６】
インバータＩＶ１は、入力がトランジスタＱＮ１及びＱＮ４のソースに接続されている。このインバータＩＶ１の出力がキャリーＰＦ０になる。
【０３０７】
半加算器ＨＡ１は、入力がＡ０及びＰＦ０、出力がＱ０、桁上げ出力がＣ０となっている。半加算器ＨＡ２は、入力がＣ１及びＡ１、出力がＱ１、桁上げ出力がＣ１となっている。半加算器ＨＡ３は、入力がＣ１及びＡ２、出力がＱ２となっている。
【０３０８】
以上の構成によって、ＰＦ０生成部Ｕ１は、“４  ｂｉｔ  ｍｏｄ  ７”回路ブロックに入力されるバイナリＡが７以上か否かを判断し、その結果をＰＦ０から出力する。バイナリＡが７以上の場合、７をバイナリＡから引くために、半加算器ＨＡ１〜ＨＡ３によって、４ビットバイナリの７の補数である１をバイナリＡに加えている。
【０３０９】
次に、７進数変換部２０１のコア部分となる“ｐ−ａｄｉｃ”回路ブロックについて説明する。
【０３１０】
図５９は、“ｐ−ａｄｉｃ”回路ブロックの回路記号を示す図である。
“ｐ−ａｄｉｃ”回路ブロックは、図５９に示すように、Ｂ０〜Ｂ５、Ｉ０〜Ｉ１５を入力し、ｒ０〜ｒ１５を出力する。
【０３１１】
図６０は、“ｐ−ａｄｉｃ”回路ブロックのブロック図である。“ｐ−ａｄｉｃ”回路ブロックは、１ステップの回路構成を“Ｘ  ｔｏ  ｐ”回路ブロックとして、これに“Ｘ  ｔｏ  ｐ”回路ブロックの入出力を制御する制御スイッチＳＷが付加された構成となっている。
【０３１２】
具体的には、入力Ｉ０〜Ｉ２、Ｉ３〜Ｉ５、・・・、Ｉ１２〜Ｉ１４は、それぞれ、制御スイッチＳＷ１を介してＣ００〜Ｃ０２、Ｃ０３〜Ｃ０５、・・・Ｃ０１２〜Ｃ０１４として“Ｘ  ｔｏ  ｐ”回路ブロックに入力される。これら制御スイッチＳＷ１は、それぞれ入力Ｂ１〜Ｂ５によって制御される。
【０３１３】
Ｃ００〜Ｃ０１４が入力された“Ｘ  ｔｏ  ｐ”回路ブロックは、前述の通り、Ｒ００〜Ｒ９２、Ｃ１０〜Ｃ１１２を出力する。
【０３１４】
“Ｘ  ｔｏ  ｐ”回路ブロックから出力されたＣ１０〜Ｃ１１２は、制御スイッチＳＷ２を介して“ｐ−ａｄｉｃ”回路ブロックの出力であるｒ３〜ｒ１５となる。これら制御スイッチＳＷ２は、入力Ｂ１〜Ｂ５によって制御される。したがって、これら制御スイッチＳＷ２は、Ｂ＝‘０’の場合、Ｃ１０〜Ｃ１１２をそのままｒ３〜ｒ１５として出力する。
【０３１５】
また、“Ｘ  ｔｏ  ｐ”回路ブロックから出力されたＲ００〜Ｒ９２は、制御スイッチＳＷ３を介して、“ｐ−ａｄｉｃ”回路ブロックの出力であるｒ０〜ｒ１１となる。これら制御スイッチＳＷ３は、それぞれＢ０∧／Ｂ１〜Ｂ３∧／Ｂ４で制御される。これによって、例えば、Ｒ００及びｒ０間にある制御スイッチＳＷ３は、Ｂ０＝‘１’、Ｂ１＝‘０’の場合のみ、Ｒ００をそのままｒ０として出力する。
【０３１６】
制御スイッチＳＷを制御するＢ０〜Ｂ５は、タイミング信号であり、順次立ち上がる信号である。これに合わせて入力Ｉのパスが下位ビット側から３ビットずつ開通し、出力ｒのパスが出力Ｒのパスと切り替わる。
【０３１７】
７進数の各桁の係数Ａに相当するＲは、次のステップの計算過程に入るまでに、そのステップの結果を出力するため、隣接するタイミング信号Ｂと論理演算した信号によってオン／オフ制御される制御スイッチＳＷ３を介して後述する外部の“Ｄ−ｒ”レジスタに出力される。
【０３１８】
次に、以上説明した回路をまとめて構成された７進数変換部２０１について説明する。
【０３１９】
図６１は、７進数変換部２０１のブロック図である。７進数変換回路部２０１は、“ｐ−ａｄｉｃ”回路ブロックに“Ｄ−ｒ”レジスタが結合されて構成される。
【０３２０】
“Ｄ−ｒ”レジスタは、図６１に示すように、タイミング信号Ｂ及びクロックｃｌｋで制御されるレジスタで、入力ｒ０〜ｒ１５、Ｄ０〜Ｄ１５、出力Ｉ０〜Ｉ１５を持つ。
【０３２１】
図６２は、“Ｄ−ｒ”レジスタの回路図である。
“Ｄ−ｒ”レジスタは、ビット毎に２つのインバータからなるフリップフロップＦＦを有している。このフリップフロップＦＦには、制御スイッチＳＷ１を介してＤｊ（ｊ＝０〜１５）が入力され、制御スイッチＳＷ２を介してｒｊが入力される。一方、フリップフロップＦＦの出力側には、制御スイッチＳＷ３を介してインバータＩＶ１が接続されている。このインバータＩＶ１の出力がＩｊとなる。
【０３２２】
制御スイッチＳＷ１〜ＳＷ３は、タイミング信号Ｂ０及びクロックｃｌｋによって制御される。具体的には、制御スイッチＳＷ１は／ｃｌｋ∧／Ｂ０＝‘１’の場合、制御スイッチＳＷ２は／ｃｌｋ∧Ｂ０＝‘１’の場合、制御スイッチＳＷ３はｃｌｋ＝‘１’の場合にそれぞれオンする。
なお、“Ｄ−ｒ”レジスタのデータ入力にないＤ１０〜Ｄ１５は‘０’とする。
【０３２３】
“Ｄ−ｒ”レジスタの初期状態は、バイナリＤ０〜Ｄ１５が設定され、残りは‘０’で埋められた状態となっている。以後、Ｂ０が立ち上がるとｃｌｋの立ち下がりに同期してデータｒｊを取り込み、ｃｌｋの立ち上がりに同期して取り込んだｒｊをＩｊとして出力する。
【０３２４】
この“Ｄ−ｒ”レジスタは、“ｐ−ａｄｉｃ”回路ブロックと結合してタイミング信号Ｂｊ毎に計算のステップを進める。各クロックの変化の様子は図６３に示す。タイミング信号Ｂｉは、図６３に示すように、クロックｃｌｋの立ち上がりの度に、Ｂ０、Ｂ１、Ｂ２、・・・と順番に‘Ｌ’から‘Ｈ’に立ち上がっていく信号である。
【０３２５】
各計算ステップで７進数の各桁Ａｊが下位側から出力ｒとして得られ、これをタイミング信号Ｂｊの後半のＩｊの取り込みと同じタイミングで保持していく。
【０３２６】
全計算ステップが終了すると“Ｄ−ｒ”レジスタには、７進数のデータＤの各桁の係数ａをバイナリに変換した場合の各桁の係数Ａｊｍが保持されている。
【０３２７】
なお、ｐ＝７の場合、計算ステップの数は６、“ｐ−ａｄｉｃ”回路ブロックに含まれる“４  ｂｉｔ  ｍｏｄ  ７”回路ブロックの数は１３となる。
【０３２８】
＜２３進数変換部＞
図６４は、「ｐ−ａｄｉｃ  Ｚｐ  ｗｏｒｌｄ」の４桁の７進数Ａ（ａ０，ａ１，ａ２，ａ３）を「ｂｉｎａｒｙ  ｗｏｒｌｄ」の３桁の２３進数Ｄ（ｄ０，ｄ１，ｄ２，ｄ３）に変換する変換回路の構成を模式的に示した図である。
【０３２９】
なお、図６４中“３  ａｄｄ  ７”と示した四角は、入力された３ビットのデータに対して、入力されたキャリーＣに応じて７を加え、４ビットのバイナリを出力する演算回路である。以下、この回路を“３  ａｄｄ  ７”回路ブロックと呼ぶ。
【０３３０】
始めに、第０ステップ（図６４中Ｓ０）では、７進数の２次の桁のバイナリ表示に対して３次の桁のバイナリ表示をキャリーすなわち７３の個数のバイナリ表現として前述の計算を行う。これによって、７２の個数としてキャリーＣ１０〜Ｃ１５の６ビットを得る。このキャリーＣ１０〜Ｃ１５が次の第１ステップの入力（図６４中Ｓ１）となる。
【０３３１】
続いて、第１ステップでは、７進数の１次の桁のバイナリ表示に対して、第０ステップで得られたキャリーＣ１０〜Ｃ１５を７２の個数のバイナリ表現として前述の計算を行う。これによって、７１の個数としてキャリーＣ２０〜Ｃ２８の９ビットを得る。このキャリーＣ２０〜Ｃ２８が次の第２ステップ（図６４中Ｓ２）の入力となる。
【０３３２】
続いて、第２ステップでは、７進数の０次の桁のバイナリ表示に対して、第１ステップで得られたキャリーＣ２０〜Ｃ２８を７１の個数のバイナリ表現として前述の計算を行う。これによって、７０の個数としてキャリーＣ３０〜Ｃ３１１の１２ビットを得る。但し、上位の３ビットはＤの７進数と２３進数との設定からゼロとなる。これらのキャリーを３ビット毎にまとめるとＤのバイナリ表現Ｄ（ｄ０，ｄ１，ｄ２，ｄ３）を得ることができる。
【０３３３】
次に、２３進数変換部２０９の構成について説明する。
図６５は、２３進数変換部２０９の第ｋステップの回路構成を、“４  ｂｉｔ  ａｄｄ  ７”回路ブロックを用いて構成したものである。ここで、“４  ｂｉｔ  ａｄｄ  ７”回路ブロックは、３ビットのバイナリデータである入力Ｂに素数７を加えてその結果をバイナリデータＱとして出力する回路である。詳細については後述する。
【０３３４】
７進数表現のｊ次の桁の係数ａｊは、３ビットのバイナリで表現できるが、このバイナリ表現の係数Ａを他の桁の係数ａと共通の表現とするめに、数３に示すようなサブインデックスを用いる。
［数３］
2013122797.tif 000005
【０３３５】
また、第ｋステップの演算の入力である前ステップ（第ｋ−１ステップ）のキャリーはＣｋ０〜Ｃｋ３（ｋ＋１）−１であり、サブインデックスが２の累乗の指数の２進数としての係数となっていて、この２進数が表現する数がデータに含まれる７３−ｋの個数となる。
【０３３６】
第ｋステップでは、図６５中（Ａ）に示すように、３（ｋ＋１）個の“４  ｂｉｔ  ａｄｄ  ７”回路ブロックで処理される。各“４  ｂｉｔ  ａｄｄ  ７”回路ブロックには、１個のキャリー（ｃａｒｒｙ）と、７進数表現の１桁分の係数を表示する３個のバイナリが入力される。
【０３３７】
１つ目の“４  ｂｉｔ  ａｄｄ  ７”回路ブロック＜１＞は、ｃａｒｒｙ、入力Ｂ０〜Ｂ２に、それぞれＣｋ０、Ｑ−１０〜Ｑ−１２が入力され、Ｑ０、Ｑ１〜Ｑ３からそれぞれＣｋ＋１０、Ｑ００〜Ｑ０２を出力する。
【０３３８】
図示しない２つ目の“４  ｂｉｔ  ａｄｄ  ７”回路ブロック＜２＞は、ｃａｒｒｙ、入力Ｂ０〜Ｂ２に、それぞれＣｋ１、Ｑ００〜Ｑ０２が入力され、Ｑ０、Ｑ１〜Ｑ３からそれぞれＣｋ＋１１、Ｑ１０〜Ｑ１２を出力する。
【０３３９】
以降、図６５中（Ａ）に示すように、同様の入出力を持つ“４  ｂｉｔ  ａｄｄ  ７”回路ブロックが、合計３（ｋ＋１）個並び、各“４  ｂｉｔ  ａｄｄ  ７”回路ブロックから出力されるキャリーＣｋ＋１０〜Ｃｋ＋１３（ｋ＋２）−１（＝Ｃｋ＋１３（ｋ＋１）＋２）が、次にステップである第ｋ＋１ステップの入力となる。
【０３４０】
このように、７進数からバイナリへの変換は、図６５中（Ｂ）に示す模式図のように、キャリーＣの最下位ビット側から順次実行される。
【０３４１】
図６５中（Ａ）は、上記の通り、第ｋステップに関係する回路構成であるが、各ステップを時分割で処理することで、図６５中（Ａ）に示す回路構成を各ステップで使い回すことができる。この場合、各“４  ｂｉｔ  ａｄｄ  ７”回路ブロックの入出力を単純なオン／オフによって制御可能にするために、図６６に示すように、ｋ＝０とした場合の３個の“４  ｂｉｔ  ａｄｄ  ７”回路ブロックを最小構成の回路ブロックとする。
【０３４２】
この様に構成された３個の“４  ｂｉｔ  ａｄｄ  ７”回路ブロックからなる回路を“ａ  ｔｏ  Ｘ”回路ブロックと呼ぶ。
【０３４３】
図６７に示すように、この“ａ  ｔｏ  Ｘ”回路ブロックの入力は、Ｑ−１０〜Ｑ−１２とＣ００〜Ｃ０２の６個となり、出力はＱ２０〜Ｑ２２とＣ１０〜Ｃ１２の６個となる。
【０３４４】
次に、図６４に示した“３  ａｄｄ  ７”回路ブロックである“４  ｂｉｔ  ａｄｄ  ７”回路ブロックについて具体的に説明する。
【０３４５】
図６８は、“４  ｂｉｔ  ａｄｄ  ７”回路ブロックの回路記号である。“４  ｂｉｔ  ａｄｄ  ７”回路ブロックは、３ビットのバイナリＢ０〜Ｂ２と１ビットのキャリー（ｃａｒｒｙ）を入力し、４ビットのバイナリＱ０〜Ｑ３を出力する。この“４  ｂｉｔ  ａｄｄ  ７”回路ブロックは、入力Ｂに対し、ｃａｒｒｙが‘１’なら素数７を加え、その結果をＱとして出力する。
【０３４６】
ここで、ｈ＝３、ｐ＝７の場合、バイナリＢ、バイナリＱの間には、数４に示す関係が成立する。
［数４］
2013122797.tif 000006
【０３４７】
図６９は、“４  ｂｉｔ  ａｄｄ  ７”回路ブロックのブロック図である。
“４  ｂｉｔ  ａｄｄ  ７”回路ブロックは、半加算器ＨＡ１、２個の全加算器ＦＡ１及びＦＡ２を有する。
【０３４８】
半加算器ＨＡ１は、入力がＢ０及びｃａｒｒｙ、出力がＱ０、桁上げ出力がＣ０となっている。全加算器ＦＡ１は、入力がＢ１及びｃａｒｒｙ、桁上げ入力がＣ０、出力がＣ１、桁上げ出力がＱ１となっている。全加算器ＦＡ２は、入力がＢ２及びｃａｒｒｙ、桁上げ入力がＣ１、出力がＱ３、桁上げ出力がＱ２となっている。
【０３４９】
以上の構成によって、“４  ｂｉｔ  ａｄｄ  ７”回路ブロックは、ｃａｒｒｙ＝‘１’なら、入力バイナリＢに素数７を加える。
【０３５０】
次に、前述の“ａ  ｔｏ  Ｘ”回路ブロックを用いて、７進数の次数を１つ下げるための１ステップ分の回路を構成する。以下では、この回路を“ｐ  ｔｏ  Ｘ”回路ブロックと呼ぶ。この“ｐ  ｔｏ  Ｘ”回路ブロックは、全計算ステップに共通に使用することができる。
【０３５１】
図７０は、“ｐ  ｔｏ  Ｘ”回路ブロックの回路記号を示す図である。“ｐ  ｔｏ  Ｘ”回路ブロックはタイミング信号Ｂ１及びＢ２で制御され、入力であるＱ−１０〜Ｑ５２、Ｃ２０〜Ｃ２８から、Ｃ３０〜Ｃ３１１を出力する。
【０３５２】
図７１は、“ｐ  ｔｏ  Ｘ”回路ブロックのブロック図である。
“ｐ  ｔｏ  Ｘ”回路ブロックは、３個の“ａ  ｔｏ  Ｘ”回路ブロックからなる。
【０３５３】
１個目の“ａ  ｔｏ  Ｘ”回路ブロック＜１＞は、“ｐ  ｔｏ  Ｘ”回路ブロックの入力の一部であるＱ−１０〜Ｑ−１２、及びＣ２０〜Ｃ２２を入力し、Ｑ´２０〜Ｑ´２２、及び“ｐ  ｔｏ  Ｘ”回路ブロックの出力の一部であるＣ３０〜Ｃ３２を出力する。
【０３５４】
２個目の“ａ  ｔｏ  Ｘ”回路ブロック＜２＞は、Ｑ２０〜Ｑ２２、及び“ｐ  ｔｏ  Ｘ”回路ブロックの入力の一部であるＣ２３〜Ｃ２５を入力し、Ｑ´５０〜Ｑ´５２、及び“ｐ  ｔｏ  Ｘ”回路ブロックの出力の一部であるＣ３３〜Ｃ３５を出力する。入力のうち、Ｑ２０〜Ｑ２２は、１個目の“ａ  ｔｏ  Ｘ”回路ブロック＜１＞の出力Ｑ´２０〜Ｑ´２２がタイミング信号Ｂ２で制御される制御スイッチＳＷ１を介して入力される信号である。
【０３５５】
３個目の“ａ  ｔｏ  Ｘ”回路ブロック＜３＞は、Ｑ５０〜Ｑ５２、及び“ｐ  ｔｏ  Ｘ”回路ブロックの入力の一部であるＣ２６〜Ｃ２８を入力し、Ｃ３９〜Ｃ３１１、及び“ｐ  ｔｏ  Ｘ”回路ブロックの出力の一部であるＣ３６〜Ｃ３８を出力する。入力のうち、Ｑ５０〜Ｑ５２は、２個目の“ａ  ｔｏ  Ｘ”回路ブロック＜２＞の出力Ｑ´５０〜Ｑ´５２がタイミング信号Ｂ１で制御される制御スイッチＳＷ２を介して入力される信号である。
【０３５６】
このように、“ａ  ｔｏ  Ｘ”回路ブロックの入出力間を制御スイッチＳＷで接続するのは、計算ステップ毎に入力の接続が外部入力と内部入力で切り替わるためであり、外部入力の場合に内部回路の出力が干渉しないようにするためである。
【０３５７】
図７１の回路構成の場合、タイミング信号Ｂ０だけが‘１’のタイミングにおいて、全ての制御スイッチＳＷがオフされ、図７２中右から１番目の“ａ  ｔｏ  Ｘ”回路ブロック＜３＞だけが活性化する。これが第０ステップに相当する。
【０３５８】
続いて、タイミング信号Ｂ１も‘１’になると、図７２中右から２番目の“ａ  ｔｏ  Ｘ”回路ブロック＜２＞までが活性化する。これが第１ステップに相当する。
【０３５９】
最後に、タイミング信号Ｂ２も‘１’になると、図７２中右から３番目の“ａ  ｔｏ  Ｘ”回路ブロック＜１＞までが活性化する。これが第２ステップに相当する。
【０３６０】
このように、図７１に示す構成の場合、タイミング信号Ｂで各ステップに必要な“ｐ  ｔｏ  Ｘ”回路ブロックの構成を作ることができる。
【０３６１】
次に、２３進数変換部２０９のコア部分となる“ｂｉｎａｒｙ”回路ブロックについて説明する。
【０３６２】
図７２は、“ｂｉｎａｒｙ”回路ブロックの回路記号である。
“ｂｉｎａｒｙ”回路ブロックは、図７２に示すように、Ｂ０〜Ｂ３、Ｉ０〜Ｉ１１を入力し、ｒ０〜ｒ１１を出力する。
【０３６３】
図７３は、“ｂｉｎａｒｙ”回路ブロックのブロック図である。“ｂｉｎａｒｙ”回路ブロックは、１ステップの回路構成を“ｐ  ｔｏ  Ｘ”回路ブロックとして、これに“ｐ  ｔｏ  Ｘ”回路ブロックの入出力を制御する制御スイッチＳＷが付加された構成となっている。
【０３６４】
具体的には、入力Ｉ３〜Ｉ１１は、それぞれ、制御スイッチＳＷ１を介してＣ２０〜Ｃ２８として“ｐ  ｔｏ  Ｘ”回路ブロックに入力される。これら制御スイッチＳＷ１は、それぞれタイミング信号Ｂ２〜Ｂ０によって制御される。したがって、制御スイッチＳＷ１は、Ｂ＝‘１’の場合、Ｉ３〜Ｉ１１がそのままＣ２０〜Ｃ２８として出力され、Ｂ＝‘０’の場合、入力に依らず出力は‘０’となる。
【０３６５】
また、入力Ｉ０〜Ｉ８は、それぞれ、制御スイッチＳＷ２を介してＱ−１０〜Ｑ５２として“ｐ  ｔｏ  Ｘ”回路ブロックに入力される。これら制御スイッチＳＷ２は、それぞれ／Ｂ３∧Ｂ２〜／Ｂ１∧Ｂ０によって制御される。したがって、例えば、Ｉ０及びＱ−１０間にある制御スイッチＳＷ２は、Ｂ３＝‘０’、Ｂ２＝‘１’の場合のみ、Ｉ０をそのままＱ−１０として出力する。
【０３６６】
“ｐ  ｔｏ  Ｘ”回路ブロックから出力されたＣ３０〜Ｃ３１１は、制御スイッチＳＷ３を介して、“ｂｉｎａｒｙ”回路ブロックの出力であるｒ０〜ｒ１１となる。これら制御スイッチＳＷ３は、タイミング信号Ｂ２〜Ｂ０によって制御される。したがって、制御スイッチＳＷ３は、Ｂ＝‘１’の場合、Ｃ３０〜Ｃ３１１をそのままｒ０〜ｒ１１として出力する。
【０３６７】
以上の回路構成によって、“ｐ  ｔｏ  Ｘ”回路ブロックは、入力と出力のビット幅を３ビットずつ順次増やしながら各計算ステップに対応する。各計算ステップで７進数の桁の数Ａを順次上位桁から取り込み、全ての計算ステップが終了したときに得られるのがデータのバイナリ表現となる。
【０３６８】
前述のように、タイミング信号Ｂ０〜Ｂ２は、順次立ち上がる信号である。これに合わせて入力Ｉと出力ｒへのパスが上位ビット側から３ビットずつ導通していく。
【０３６９】
７進数の各桁の数Ａは、後述する外部の“Ａ−ｒ”レジスタに初期設定されて、次の計算ステップに入るまでに、選択的にパスが切り替わるように、隣接するタイミング信号Ｂでオン／オフ制御される制御スイッチＳＷ３を介して“Ａ−ｒ”レジスタに出力される。
【０３７０】
次に、以上説明した回路をまとめて構成された２３進数変換部２０９について説明する。
【０３７１】
図７４は、２３進数変換部２０９のブロック図である。２３進数変換部２０９は、“ｂｉｎａｒｙ”回路ブロックに“Ａ−ｒ”レジスタが結合されて構成される。
【０３７２】
“Ａ−ｒ”レジスタは、図７４に示すように、タイミング信号Ｂ０及びクロックｃｌｋで制御されるレジスタで、入力ｒ０〜ｒ１１、Ａ０〜Ａ１１、出力Ｉ０〜Ｉ１１を持つ。
【０３７３】
図７５は、“Ａ−ｒ”レジスタの回路図である。
“Ａ−ｒ”レジスタは、ビット毎に２つのインバータからなるフリップフロップＦＦを有している。このフリップフロップＦＦには、制御スイッチＳＷ１を介してＡｊ（ｊ＝０〜１１）が入力され、制御スイッチＳＷ２を介してｒｊが入力される。一方、フリップフロップＦＦの出力側には、制御スイッチＳＷ３を介してインバータＩＶ１が接続されている。このインバータＩＶ１の出力がＩｊとなる。
【０３７４】
制御スイッチＳＷ１〜ＳＷ３はタイミング信号Ｂ０及びクロックｃｌｋによって制御される。具体的には、制御スイッチＳＷ１は／ｃｌｋ∧／Ｂ０＝‘１’の場合、制御スイッチＳＷ２は／ｃｌｋ∧Ｂ０＝‘１’の場合、制御スイッチＳＷ３はｃｌｋ＝‘１’の場合にそれぞれオンする。
“Ａ−ｒ”レジスタの初期状態は、７進数の桁Ａ０〜Ａ１１となっている。
【０３７５】
以後、タイミング信号Ｂ０が立ち上がるとクロックｃｌｋの立ち下がりに同期して取り込んだｒｊを、クロックｃｌｋの立ち上がりに同期してＩｊとして出力する。
【０３７６】
この“Ａ−ｒ”レジスタは“ｂｉｎａｒｙ”回路ブロックと結合してタイミング信号Ｂｊ毎に計算ステップを進める。各クロックの変化の様子は、図６３と同様である。クロックｃｌｋからｃｋが作られ、更にタイミング信号Ｂｊが作られる。
【０３７７】
全計算ステップが終了すると“Ａ−ｒ”レジスタには、入力である７進数Ａのバイナリ表現Ｄｊが保持される。
【０３７８】
以上の構成による２３進数変換部２０９によれば、計算ステップの数は４で、“ｂｉｎａｒｙ”回路ブロックに含まれる“４  ｂｉｔ  ａｄｄ  ７”回路ブロックの数は９となる。
【０３７９】
＜ＥＣＣシステムの概要＞
実施形態のメモリコントローラ２００は、既存のメモリデバイス１００が記憶するデータの信頼性を確保するためにリー・メトリック・コードを用いたＥＣＣシステムを搭載している。
【０３８０】
このＥＣＣシステムは、エラー検出・訂正に必要な計算をより簡便するため、リー・メトリック・コードを用いている。そこで、ここではリー・メトリック・コードについて簡単に説明する。
【０３８１】
コードを表すシンボルｃは、数５に示す整数となる。
［数５］
2013122797.tif 000007
これら整数の計量をリー・メトリックとして｜ｃｊ｜で表わし、全てのリー・メトリック｜ｃｊ｜はｐ／２以下の整数で表されて、リー・メトリック｜ｃｊ｜の定義は数６のようになる。
［数６］
2013122797.tif 000008
【０３８２】
コードＣは、ｎ＝ｐ−１個のシンボルｃｊの並びと考えられるため、Ｃ＝（ｃ１，ｃ２，…，ｃｎ）で表すことができる。コードＣの計量ｗ（Ｃ）は、数９のように各シンボルｃｊのリー・メトリック｜ｃｊ｜の和として定義される。
［数７］
2013122797.tif 000009
【０３８３】
また、コード間の距離はコードに対応する各シンボルの差のリー・メトリックの和で定義される。ここで２つのシンボルｃとｙの差（リー距離）ｄＬ（ｃ，ｙ）は数８のようになる。
［数８］
2013122797.tif 000010
【０３８４】
さらに、コードＣの最小リー距離は、数９に示すようにコードＣの計量ｗ（Ｃ）の最小の計量で定義される。
［数９］
2013122797.tif 000011
【０３８５】
このとき、リー・メトリック・コードは、数１２に示す生成行列Ｇ及びシンドローム行列Ｈを持ったコード間の最小距離が２γであり、且つ、γ−１以下のリー・メトリックのエラー訂正が可能なコードである。
［数１０］
2013122797.tif 000012
ここで、コードＣの語長をｎ、データの語長をｋとすると、γ＝ｎ−ｋであり、γはコードＣに含まれる冗長語長を表している。
【０３８６】
この様に構成されるリー・メトリック・コードを生成するために入力変換されたデータをｋ桁のｐ進数で表す。このｐ進数の各桁の数はＺｐの要素であるから、これをリー・メトリック・コードのデータ語Ｘとして、生成行列Ｇから演算Ｃ＝ＸＧとしてコード表現が得られる。得られたコード語をメモリに記憶する。記憶したＺｐの数に生じたエラーの情報は、メモリから読み出したリー・メトリック・コードのデータ語Ｙとして、演算Ｓ＝ＹＨｔ（ＨｔはＨの転置行列）からシンドロームを得て、エラーの位置と量が計算できエラーが訂正できる。
【０３８７】
次に、実施形態で扱うｐ＝７、γ＝ε＋１、ε＝１，２の場合のＥＣＣシステムで用いる一般的な関係式などをまとめて説明しておく。
【０３８８】
メモリデバイス１００に記録されたコードＣのバイナリデータは、３ビットからなるコード語シンボルが６個集まったものであり、ビット毎に様々な擾乱を受けて変化を起こす。そこで、コードＹからコードＣを復元するのがデコードである。このデコードに先立ち、始めにシンドロームを求める。
【０３８９】
シンドロームＳはシンドローム行列Ｈを利用したＳ＝ＹＨｔの演算をして数１１に示す要素Ｓ０、Ｓ１、Ｓ２として求まる。
［数１１］
2013122797.tif 000013
ここで、ＨｔはＨの転置行列である。生成行列Ｇとシンドローム行列Ｈの構成がＧＨｔ＝０（ｍｏｄ  ７）となるように構成されていることにより、Ｙ＝Ｃ＋ＥとおくとＳ＝ＥＨｔとなる。またＥ＝（ｅ１，ｅ２，・・・，ｅ６）とすると、シンドロームＳ０は各コード語シンボルのエラーの総和になっていることが分かる。これらのシンドロームＳが唯一のエラーの情報であり、これらシンドロームＳを基にして以下のように、正しいコードＣの復元を行う。
【０３９０】
続いて、デコードの原理を説明する。ｎ＝ｐ−１＝６個のエラーのシンボルを二つの組Ｊ＋とＪ−に、数１２のように分類する。
［数１２］
2013122797.tif 000014
すなわち、シンボルのエラー量がｅｊ＜７／２の場合、コードシンボルｃｊの位置ｊの集まりであるＪ＋と、シンボルのエラー量がｅｊ＞７／２の場合のコードシンボルｃｊの位置ｊの集まりであるＪ−とに分類される。ガロア体ＧＦ（７）上の多項式Λ（ｘ）、Ｖ（ｘ）をこれらの組を基に数１３のように構成する。
［数１３］
2013122797.tif 000015
【０３９１】
このように、多項式Λ（ｘ）はＪ＋のエラーコード語シンボルの位置ｊの逆数を根として持ち、そのコード語シンボルのリー・メトリックｅｊを根の多重度として持つ多項式となる。一方、多項式Ｖ（ｘ）はＪ−のエラーコード語シンボルの位置ｊの逆数を根として持ち、そのコード語シンボルのリー・メトリック７−ｅｊを根の多重度として持つ多項式となる。デコードは、最終的にこれらの多項式をシンドロームＳｌの情報のみから構成して解くことによってエラーの情報を得る過程となる。つまり、これら多項式Λ（ｘ）、Ｖ（ｘ）とシンドロームＳｌとの関係を求める必要がある。
【０３９２】
続いて、数１４に示すように各シンドロームＳｌをその次数の係数に持つ級数多項式で構成すると、シンボルのエラー量ｅｊ、位置ｊとその値を持つ有理多項式で表される。
［数１４］
2013122797.tif 000016
数１４から、多項式Λ（ｘ）、Ｖ（ｘ）、シンドロームＳ（ｘ）の間には数１５に示す関係式が成立する。
［数１５］
2013122797.tif 000017
【０３９３】
続いて、数１５に示す関係式を利用して、シンドロームＳ（ｘ）から多項式Λ（ｘ）、Ｖ（ｘ）を求める。
【０３９４】
シンドロームＳ（ｘ）から、数１６に示す次数がγ−１以下の多項式Ψ（ｘ）を求める。
［数１６］
2013122797.tif 000018
多項式Ψ（ｘ）の展開式において、数１６に示す式の両辺の同次次数の係数の比較から、係数ψｊは、シンドロームＳｉと既に求まっている係数ψｊ−１とを用いて求めることができる。この多項式Ψ（ｘ）は、Λ（ｘ）／Ｖ（ｘ）に等価な多項式である。
［数１７］
2013122797.tif 000019
【０３９５】
ε＝１の場合、シンドロームＳ＝（Ｓ０、Ｓ１）から多項式Ψ（ｘ）の係数ψ０及びψ１を求めると数１８のようになる。
［数１８］
2013122797.tif 000020
そして、数１８から多項式Ψ（ｘ）＝１＋ψ１ｘとΨ＊（ｘ）＝１−ψ１ｘを作り、Ｓ０＝１の場合には多項式をλ（ｘ）＝Ψ（ｘ）とν（ｘ）＝１とし、Ｓ０＝−１の場合には多項式をλ（ｘ）＝１とν（ｘ）＝Ψ＊（ｘ）とする。これによって数１７に示すキー条件を満たすことができる。
【０３９６】
ε＝２の場合、ｘ３とΨ（ｘ）に対してユークリッド反復法で定数倍を除いて求めることができる。その際、シンドロームＳ＝（Ｓ０，Ｓ１，Ｓ２）から多項式Ψ（ｘ）の係数ψ０〜ψ２を求めると数１９のようになる。
［数１９］
2013122797.tif 000021
そして、ユークリッド反復法の停止条件にＳ０を用いると、数１９からΛ（ｘ）とＶ（ｘ）が求まる。即ち、（Ｓ０，Ψ（ｘ））のユークリッドの反復法で求めることができる。
【０３９７】
以上の通り、ε＝１の場合には、エラー探索多項式が１次であり、その解はシンドロームＳ１から直接求めることができた。しかし、ε＝２の場合、ユークリッドの反復法で得られるエラー探索多項式の次数は最大でも２次であるため、その解を、根と根の多重度を求めるハッセ（Ｈａｓｓｅ）微分多項式から求める。
【０３９８】
エラー探索多項式をφ（ｘ）で表して、多項式φ（ｘ）をハッセ微分多項式の表現と係数の関係を式で示すと数２０のようになる。
［数２０］
2013122797.tif 000022
【０３９９】
ユークリッドの反復法で得られたエラー探索多項式であるλ（ｘ）とν（ｘ）にこの関係を適用する。
【０４００】
探索する解の範囲はＺｐ（ｐ＝７）であり、探索するのは１〜６についてである。したがって、ｍｏｄ  ７を考えると、数２１のような６つのφ１及びφ２間の関係式として簡単に得られる。
［数２１］
2013122797.tif 000023
【０４０１】
得られたエラー探索多項式の係数φ１及びφ２を代入する。そして、φ２≠０の場合、２根でφ（１）〜φ（６）で０になるものがＺｐの根となり、根が１つしかなければ、それは重根と言うことになる。一方、φ２＝０の場合、エラーは一つで（φ１）−１が根となる。このように、Ｚｐの要素における探索は、数２１で示した６つの式について、０に等しいか否かで判断すれば良い。
【０４０２】
次に、図７６及び図７７を用いてメモリコントローラ２００におけるデータ処理の手順について詳細に説明する。
【０４０３】
以下では、「ｐ−ａｄｉｃ  Ｚｐ  ｗｏｒｌｄ」でのＥＣＣの演算について、Ｚｐデータとしてメモリシステム１００に入力されたデータをエンコードする手順と、メモリシステム１００から読み出されたコードＹをデコードし、データＡを得るまでの手順についてまとめる。
【０４０４】
エンコードの手順は以下のようになる。
始めに、入力されたデータＤを、７進数変換部２０１によって数２２に示す７進数表現の４桁のデータ語Ｄ（ｈ）に変換する（図７６中Ｓ１）。
［数２２］
2013122797.tif 000024
【０４０５】
続いて、このデータＤに生成行列Ｇを乗じてコードＣの６個のコード語成分ｃ１〜ｃ６を得る（図７６中Ｓ２）。各コード語成分の値は数２３に示す通りである。
［数２３］
2013122797.tif 000025
【０４０６】
最後に、コードＣのコード語成分ｃｊをメモリデバイス１００のメモリセルＭＣに記憶する（図７６中Ｓ３）。
【０４０７】
ここで、リー・メトリック・コードＣは、メモリデバイス１００に記憶されて、エラーを含むコードＹとなったとする。
【０４０８】
データの読み出しは、始めに、メモリシステム１００からコードＹを読み出す（図７７中Ｓ４）。コードＹは数２４に示す構成となっている。ここで、ｅｊは、コードＹの位置ｊにあるコード語シンボルのエラーのリー・メトリックを示す。
［数２４］
2013122797.tif 000026
【０４０９】
メモリコントローラ２００は、コードＹに対して、ＥＣＣによるエラー訂正を施した上でバイナリデータを生成し外部に出力する。これらデータ読み出しの際のデータ処理の手順は以下の通りである。なお、ここで用いるＥＣＣシステムは、エラー訂正能力をε＝１とするものである。
【０４１０】
（手順１）  コードＹから数２５に示す計算式に基づいてシンドロームＳ＝（Ｓ０，Ｓ１）を計算する（図７７中Ｓ５）。
［数２５］
2013122797.tif 000027
【０４１１】
Ｓ０＝Σｅｊとなるため、｜Ｓ０｜＞１の場合、エラーのリー・メトリック総量が２以上となることから、コードＹのエラー訂正が不可能と判断し、解無しとしてエラー探索を中止する（図７７中Ｓ６、Ｓ７）。一方、｜Ｓ０｜≦１の場合、手順２に処理を進める（図７７中Ｓ８）。
【０４１２】
（手順２）  訂正可能なコード語成分の数の上限であるε＝１に対して、まず手順１で求めたシンドロームＳ０及びＳ１から数２６に示す計算式に基づいて解探索多項式Ψ（ｘ）の係数ψ０及びψ１を計算する（図７７中Ｓ８）。
［数２６］
2013122797.tif 000028
続いて、Ψ（ｘ）＝１−Ｓ１ｘ、Ψ＊（ｘ）＝１＋Ｓ１ｘとおく。この場合、キー条件を満たす候補は、Ｓ０＝１の場合、λ（ｘ）＝Ψ（ｘ）、ν（ｘ）＝１となり、Ｓ０＝−１の場合、λ（ｘ）＝１、ν（ｘ）＝Ψ＊（ｘ）となる（図７７中Ｓ９）。
【０４１３】
（手順３）  手順２で求めた多項式λ（ｘ）又はν（ｘ）から、その根などを求める。得られた多項式λ（ｘ）及びν（ｘ）は１次の式であるため、解は、Ｓ０＝１の場合、ｒ＝Ｓ１−１、ｔ＝Ｓ１、ｅｔ＝１となり、Ｓ０＝−１の場合、ｒ＝−Ｓ１−１、ｔ＝−Ｓ１、ｅｔ＝−１となる（図７７中Ｓ１０）。
【０４１４】
（手順４）  手順３で得られた根からエラー成分のエラー量を求める。エラーのあるコード語成分の番号は、ｔ＝ｒ−１＝Ｓ０Ｓ１、ｅｔ＝Ｓ０であり、ｃｔ＝ｙｔ−ｅｔから正しいコードＣを得ることができる（図７７中Ｓ１１）。
【０４１５】
（手順５）  コードＣ及びコードＡと生成行列Ｇの関係ＡＧ＝Ｃなる多元連立一次方程式を介して、４個のＺｐの要素ａ０〜ａ３を求める。得られた要素ａ０〜ａ３から４桁の７進数Ａ＝（ａ０，ａ１，ａ２，ａ３）を求める（図７７中Ｓ１２）。
【０４１６】
以上で、メモリコントローラ２００における「ｐ−ａｄｉｃ  Ｚｐ  ｗｏｒｌｄ」内でのデータ処理は終了したため、続いて「ｐ−ａｄｉｃ  Ｚｐ  ｗｏｒｌｄ」の出口においてデータＡをバイナリデータに戻す変換を行う。データＡを４桁の７進数表現から３桁の２３進数表現に変換し、３桁として各桁の数字をバイナリ表示する。これがメモリシステムに入力されたバイナリデータＤとなる。
以上でデータの復元が完了する。
【０４１７】
＜デコード部＞
ここらからは、上記手順を実現する具体的な回路の例について説明する。
先ず、Ｚｐの積を求める計算回路について説明する。以下においてこの計算回路を“Ｘ  Ｚｐ”回路ブロックと呼ぶ。
【０４１８】
図７８は、“Ｘ  Ｚｐ”回路ブロックの回路記号を示す図、図７９中（Ａ）は、“Ｘ  Ｚｐ”回路ブロックのブロック図、図７９中（Ｂ）及び（Ｃ）は“Ｘ  Ｚｐ”回路ブロックによる演算処理を模式的に示した図である。
【０４１９】
“Ｘ  Ｚｐ”回路ブロックは、大別して、前半の計算ステップ群を処理する回路と、後半の計算ステップ群を処理する回路とからなる。
【０４２０】
前半の計算ステップ群を処理する回路は、ＡＮＤゲートＧ１と２個の“３  ｂｉｔ  ＡＤ  ｍｏｄ  ７”回路ブロック＜１＞及び＜２＞で構成される。
【０４２１】
ＡＮＤゲートＧ１は、掛けられる数ａの第ｉ（ｉ＝０〜２）ビットと、掛ける数ｂの第ｊ（ｊ＝０〜２）ビットとの論理積を取り、これをＭｉｊとして出力する。ここで、数ａ及びｂは、数２７のように表わす。
［数２７］
2013122797.tif 000029
【０４２２】
“３  ｂｉｔ  ＡＤ  ｍｏｄ  ７”回路ブロックは、２つのＺｐの数に対して７を法とする和を求める回路である。“３  ｂｉｔ  ＡＤ  ｍｏｄ  ７”回路ブロックは、Ａ０〜Ａ２及びＢ０〜Ｂ２を入力し、Ｑ０〜Ｑ２を出力する。この“３  ｂｉｔ  ＡＤ  ｍｏｄ  ７”回路ブロックの具体的構成については、後述する。
【０４２３】
１つ目の“３  ｂｉｔ  ＡＤ  ｍｏｄ  ７”回路ブロック＜１＞は、Ａ０、Ａ１、Ａ２及びＢ０〜Ｂ３に、それぞれＭ１０、Ｍ２０、‘０’及びＭ０１〜Ｍ２１を入力し、Ｑ０〜Ｑ２からＱ００〜Ｑ０２を出力する。
【０４２４】
２つ目の“３  ｂｉｔ  ＡＤ  ｍｏｄ  ７”回路ブロック＜２＞は、Ａ０、Ａ１、Ａ２及びＢ０〜Ｂ２に、それぞれ“３  ｂｉｔ  ＡＤ  ｍｏｄ  ７”回路ブロック＜１＞の出力であるＱ０１、Ｑ０２、‘０’及びＭ０２〜Ｍ２２を入力し、Ｑ０〜Ｑ２からＱ１０〜Ｑ１２を出力する。
【０４２５】
以上のように、前半の計算ステップ群を処理する回路は、“３  ｂｉｔ  ＡＤｍｏｄ  ７”回路ブロック＜１＞及び＜２＞の出力と入力とを順次接続して構成されている。
【０４２６】
後半の計算ステップ群を処理する回路は、２個の“４  ｂｉｔ  ｍｏｄ  ７”回路ブロック＜１＞及び＜２＞で構成されている。この“４  ｂｉｔ  ｍｏｄ  ７”回路ブロック＜１＞及び＜２＞は、図５７及び図５９に示す回路である。
【０４２７】
１つ目の“４  ｂｉｔ  ｍｏｄ  ７”回路ブロック＜１＞は、Ａ０及びＡ１〜Ａ３に、それぞれＱ００及びＱ１０〜Ｑ１２を入力し、Ｑ０〜Ｑ２からＱ２０〜Ｑ２２を出力する。
【０４２８】
２つ目の“４  ｂｉｔ  ｍｏｄ  ７”回路ブロック＜２＞は、Ａ０及びＡ１〜Ａ３に、それぞれＭ００及び“４  ｂｉｔ  ｍｏｄ  ７”回路ブロック＜１＞の出力であるＱ２０〜Ｑ２２を入力し、Ｑ０〜Ｑ２からＱ３０〜Ｑ３２を出力する。
【０４２９】
以上のように、後半の計算ステップ群を処理する回路は、“４  ｂｉｔ  ｍｏｄ  ７”回路ブロック＜１＞及び＜２＞の出力と入力とを順次接続して構成されている。
【０４３０】
全ての回路はクロック非同期で動作し、入力Ｍｉｊを与えることによって出力Ｑが確定する。
【０４３１】
以上のように、“Ｘ  Ｚｐ”回路ブロックを構成する回路ブロック数は４個となる。
【０４３２】
次に、図７９に示す“３  ｂｉｔ  ＡＤ  ｍｏｄ  ７”回路ブロックについて説明する。
【０４３３】
図８０は、“３  ｂｉｔ  ＡＤ  ｍｏｄ  ７”回路ブロックの回路記号を示す図である。
“３  ｂｉｔ  ＡＤ  ｍｏｄ  ７”回路ブロックは、Ａ及びＢから入力される数ａ及びｂの和を求めて、得られた和の素数７による剰余をＱから出力する。なお、入力の和をＺｐの数として扱わないで３ビットのバイナリ数として扱う場合が必要となるので、ブロック内の信号の変更で実現できる“３  ｂｉｔ  ＡＤ（８）  ｍｏｄ  ７”回路ブロックとしても回路記号を図８０に示した。
【０４３４】
ｈ＝３、ｐ＝７の場合、数ａ、ｂ、剰余のバイナリ表示Ｑの間には、数２８に示す関係が成立する。
［数２８］
2013122797.tif 000030
【０４３５】
図８１は、“３  ｂｉｔ  ＡＤ  ｍｏｄ  ７”回路ブロック及び“３  ｂｉｔ  ＡＤ（８）  ｍｏｄ  ７”回路ブロックのブロック図である。
【０４３６】
“３  ｂｉｔ  ＡＤ  ｍｏｄ  ７”及び“３  ｂｉｔ  ＡＤ（８）  ｍｏｄ  ７”回路ブロックは、ＰＦ０生成部Ｕ１、４個の半加算器ＨＡ１〜ＨＡ４、２個の全加算器ＦＡ１及びＦＡ２を有する。
【０４３７】
ＰＦ０生成部Ｕ１は、所定の電圧が供給されるＶｃｃ端子と、Ｖｓｓ端子との間に、直列に接続されたＰＭＯＳトランジスタＱＰ０、ＱＰ１及びＮＭＯＳトランジスタＱＮ１〜ＱＮ３を有する。これらトランジスタＱＰ０、ＱＰ１、ＱＮ１、ＱＮ２及びＱＮ３は、それぞれＣ２、Ｓ０、Ｓ０、Ｓ１並びにＳ２で制御される。
【０４３８】
また、ＰＦ０生成部Ｕ１は、その他に、２個のＰＭＯＳトランジスタＱＰ０、ＱＰ３、ＮＭＯＳトランジスタＱＮ３及びインバータＩＶ１を有する。
【０４３９】
トランジスタＱＰ２及びＱＰ３は、それぞれトランジスタＱＰ１のソース及びドレイン間に並列に接続されている。トランジスタＱＮ３は、トランジスタＱＮ０のソース及びトランジスタＱＮ２のドレイン間に並列に接続されている。これらトランジスタＱＰ２、ＱＰ３及びＱＮ３は、それぞれＳ１、Ｓ２及びＣ２で制御される。また、インバータＩＶ１は、入力がトランジスタＱＮ１及びＱＮ３のソースに接続されている。このインバータＩＶ１の出力がキャリーＰＦ０になる。以上でＣ２に替わりＶｓｓが入力される場合が“３  ｂｉｔ  ＡＤ（８）  ｍｏｄ  ７”回路ブロックとなる。
【０４４０】
半加算器ＨＡ１は、入力がＡ０及びＢ０、出力がＳ０、桁上げ出力がＣ０´となっている。全加算器ＦＡ１は、入力がＡ１及びＢ１、桁上げ入力がＣ０´、出力がＳ１、桁上げ出力がＣ１´となっている。全加算器ＦＡ２は、入力がＡ２及びＢ２、桁上げ入力がＣ１´、出力がＳ２、桁上げ出力がＣ２´となっている。半加算器ＨＡ２は、入力がＳ０及びＰＦ０、出力がＱ０、桁上げ出力がＣ０となっている。半加算器ＨＡ３は、入力がＣ０及びＳ１、出力がＱ１、桁上げ出力がＣ１となっている。半加算器ＨＡ４は、入力がＣ１及びＳ２、出力がＱ２となっている。
【０４４１】
以上の構成によって、ＰＦ０生成部Ｕ１は、“３  ｂｉｔ  ＡＤ  ｍｏｄ  ７”回路ブロックに入力されるバイナリＡ及びＢの和が１３以上か否かの検出を行う。なお、Ｃ２をＶｓｓに替えることで、８を法としたＡ及びＢの和に対して７以上の検出をすることができる。このオプションの回路構成は、Ｚｐの要素の減算を補数の加算で行うときに必要となる演算回路であり、後に“３  ｂｉｔ  ＡＤ（８）  ｍｏｄ  ７”回路ブロックとして使用する。
【０４４２】
＜Ｚｐの要素間の対応を求めるデコーダ＞
素数ｐ＝７とした場合、Ｚｐの要素の数は少ないため、特殊な演算を計算回路で求めるよりも、予め作成した要素の対応表を用いてデコーダを生成した方が良い場合もある。そこで、Ｚｐの要素の対応表の一例を示しておく。
【０４４３】
図８２は、Ｚｐの要素の累乗を求める対応表となる。Ｚｐの要素の累乗はしばしば求める必要があるため、その対応表を用意しておくと有用である。ｐ＝７の場合、Ｚｐの要素ｊ（ｊ＝２〜６）に対してｉ乗（ｉ＝２〜５）の演算結果を用意すれば良いため、対応表に記録すべき値は２０個となる。図８２に示す対応表を用いた場合、ロジック回路によって３ビットのバイナリ表示のデコーダを用意するだけで、Ｚｐの要素の累乗を得ることができる。
【０４４４】
図８３は、Ｚｐの要素の逆元を求める対応表となる。Ｚｐの要素ｊから逆元ｊ−１を求めるには、ｊ・ｊ−１≡１（ｍｏｄ  ７）の関係から求めた要素ｊ及びその逆元ｊ−１の対応表を用意すれば良い。図８３に示す対応表を用いた場合、ロジック回路によって３ビットのバイナリ表示の変換デコーダを用意するだけで、Ｚｐの要素の逆元を得ることができる。
【０４４５】
＜エンコーダ部＞
次に、エンコード部２０２の回路構成例を説明する。
図８４中（Ａ）は、Ｚｐのコード語Ａをリー・メトリック・コードＣに変換する回路のブロック図であり、図８４中（Ｂ）は、図８４中（Ａ）に示す回路を制御する２重のクロックｃｋ及びｃｌを示す図である。
【０４４６】
図８４中（Ｂ）に示すように、クロックｃｌは、ｃｋの立ち上がりに遅れて立ち上がるパルスであり、クロックｃｋ毎にｃｌ０〜ｃｌ３の合計４個のクロックｃｌが順次立ち上がる。そして、ｃｌ３が立ち上がると、これに遅れて次のクロックｃｋが立ち上がる。同様の波形がｃｋ１からｃｋ７まで繰り返される。
【０４４７】
これらクロックｃｋ、ｃｌのうち、ｃｋは“（ｊ）ｉ  ｒｅｇｉｓｔｅｒ”回路ブロック及び“Ｒｉ（１〜６）”レジスタ部を制御し、ｃｌは、“（ｊ）ｉ  ｒｅｇｉｓｔｅｒ”回路ブロック及び“Ｒｏ（０〜８）”レジスタ部を制御する。
【０４４８】
“Ｒｉ（１〜６）”レジスタ部は、コード語Ｃの成分ｃｊを記憶するレジスタで、合計６個の数を記憶することができる。この“Ｒｉ（１〜６）”レジスタ部は、ｃｋの立ち上がりのタイミングに合わせて順次個々のレジスタに数を記憶していく。即ちｃｋｊ＋１の立ち上がりのタイミングで要素ｃｊとなるデータをレジスタに取り込む。ｃｋ７の立ち上がりによって、レジスタに６個の要素ｃｊが取り込まれる。つまり、コード語Ｃを記憶することができる。
【０４４９】
“（ｊ）ｉ  ｒｅｇｉｓｔｅｒ”回路ブロックは、Ｚｐの要素ｊと（ｊ）ｉを対応付けるデコーダ回路である。具体的には、“（ｊ）ｉ  ｒｅｇｉｓｔｅｒ”回路ブロックは、ｃｋｊ（ｊ＝１〜６）及びｃｌｊ＋１（ｉ＝０〜３）が入力されると（ｊ）ｉ＋１を出力する。
【０４５０】
“Ｒｏ（０〜３）”レジスタ部は、４個の数を記憶できるレジスタであり、初期状態では、コードＡの４個の成分ａ０〜ａ３を記憶している。“Ｒｏ（０〜３）”レジスタ部には、クロックｃｌが入力されており、このクロックｃｌが立ち上がる度にコードＡの成分ａ０〜ａ３を順次出力する。即ち、ｃｌｉを受けてａｉを出力する。
【０４５１】
“Ｘ  Ｚｐ”回路ブロックは、入力の掛け算をＺｐで行なう回路である。“Ｘ  Ｚｐ”回路ブロックには、クロックｃｌｉ毎に“Ｘ  ｋ−ｔｉｍｅｓ”回路ブロックの出力（ｊ）ｉ＋１と“Ｒｏ（０〜３）”レジスタ部の出力ａｉが入力され、（ｊ）ｉ＋１ａｉを出力する。この出力された数（ｊ）ｉ＋１ａｉを加算していくのが、“３  ｂｉｔ  ＡＤ  ｍｏｄ  ７”回路ブロック及び“Ｒｇｓｔｒ”レジスタの組み合わせである。
【０４５２】
“３  ｂｉｔ  ＡＤ  ｍｏｄ  ７”回路ブロックは、２つの入力の数の和を７を法として求める回路である。一方、“Ｒｇｓｔｒ”レジスタは、初期状態が‘０’でクロックｃｌの入力毎に、“３  ｂｉｔ  ＡＤ  ｍｏｄ  ７”回路ブロックからの入力を遮断し、自身が保持する内容を“３  ｂｉｔ  ＡＤ  ｍｏｄ  ７”回路ブロックに出力するレジスタである。図８４に示すような、“３  ｂｉｔ  ＡＤ  ｍｏｄ  ７”回路ブロック及び“Ｒｇｓｔｒ”レジスタの接続によって、クロックｃｌの入力毎に前回出力した数に新たな“Ｘ  Ｚｐ”回路ブロックから出力される数を加算していく。即ち、クロックｃｌ０〜ｃｌ３が立ち上がると、コードＡをリー・メトリック・コードに変換した後のＣの成分ｃｊが、クロックｃｋｊのサイクルで出力される。これが次のｃｋｊ＋１のサイクルの頭で“Ｒｉ（１〜６）”レジスタ部に保持される。これによって、コードＡから変換されたコードＣを得ることができる。
【０４５３】
図８５中（Ａ）は、シンドローム成分要素生成回路のブロック図であり、図８５中（Ｂ）は、シンドローム成分要素生成回路を制御するクロックｃｋｉ（ｉ＝０〜１）、ｃｌｊ（ｊ＝１〜６）のタイミングチャートである。
【０４５４】
シンドローム成分要素生成回路は、図８５中（Ａ）に示すように、“Ｒｏ（１〜６）”レジスタ部、“（ｊ）ｉ  ｒｅｇｉｓｔｅｒ”回路ブロック、“Ｘ  Ｚｐ”回路ブロック、“３  ｂｉｔ  ＡＤ  ｍｏｄ  １３”回路ブロック、“Ｒｇｓｔｒ”レジスタ、及び“Ｒｉ（０〜１）”レジスタ部を有する。
【０４５５】
メモリデバイス１００から読み出されたコードＹは“Ｒｏ（１〜６）”レジスタ部に初期設定として格納される。“（ｊ）ｉ  ｒｅｇｉｓｔｅｒ”回路ブロックからは（ｊ）ｉを発生させる。これら“Ｒｏ（１〜６）”レジスタ及び“（ｊ）ｉ  ｒｅｇｉｓｔｅｒ”回路ブロックは、クロックｃｌｊによって同期され、Ｙの成分ｙｊが出力されると同時に（ｊ）ｉが出力されるように制御される。これらの積（ｊ）ｉｙｊを“Ｘ  Ｚｐ”回路ブロックで生成し、クロックｃｌｊ（ｊ＝１〜６）と同期して、“３  ｂｉｔ  ＡＤ  ｍｏｄ  ７”回路ブロック及び“Ｒｇｓｔｒ”レジスタのループによって加算していき、シンドローム成分Ｓｉを作る。得られたＳｉをクロックｃｋｉ＋１で“Ｒｉ（０〜１）”レジスタの第ｉ番目のレジスタに格納する。この過程をクロックｃｋｉのｉ＝０〜２について処理し、全てのシンドローム成分を得て“Ｒｉ（０〜１）”レジスタ部に格納する。
【０４５６】
コードＹのエラーの探索の可否の判定には、シンドローム・ベクタの成分Ｓ０のリー・メトリック｜Ｓ０｜を求める必要がある。
【０４５７】
＜デコード部＞
ここでは、デコード部２０８について説明する。
エラー探索を終了し、エラーコードＥによって訂正されたリー・メトリック・コードＣが得られたら、これをＺｐのデータコードＡに戻す必要がある。この演算はＧを生成行列として、Ｃ＝ＡＧの逆演算を行うことに相当するが、行列の逆を得るのは規模の大きな演算となる。そのため、Ａの要素を逐次的にＣの要素から求めて行く。計算の過程を数２９に示す。
［数２９］
2013122797.tif 000031
2013122797.tif 000032
2013122797.tif 000033
2013122797.tif 000034
【０４５８】
数２９に示したように、ｃｊ＝Σ（ｊ）ｉ＋１ａｉの関係を順次変形して、ａ０からａ１、続いてａ１からａ２、・・・と逐次的にａｍを求めて行くことが計算の原理となる。
【０４５９】
両辺にｊの累乗の逆元を掛けてｊのＺｐの全ての元についての項として足し合わせる。このときＺｐの全ての元の和はゼロとなることを利用して変形している。
【０４６０】
各データコードＡの成分シンボルｃを求める式は、数２９の各シンボルａ０からａ３の計算式で示したように、始めに、リー・メトリック・コードＣの成分ｃ１〜ｃ６の変形を行う部分と、この結果を使ってデータＡの成分ａ０〜ａ３を求める部分からなる。数２９に示すように、逐次計算の式は４つと少ない。以下では、これら演算を並列処理する具体的な演算回路について説明する。
【０４６１】
次に、数２９に基づいてリー・メトリック・コードＣの成分の変換を都度行う回路について説明する。以下において、この回路を“ｃ（ｍ−１）ｊ”回路ブロックと呼ぶ。
【０４６２】
図８６は、“ｃ（ｍ−１）ｊ”回路ブロックの回路記号を示す図であり、図８７は、“ｃ（ｍ−１）ｊ”回路ブロックのブロック図である。
【０４６３】
“ｃ（ｍ−１）ｊ”回路ブロックは、クロックｃｌｊ、／ｃｌｊに同期して動作する回路であり、（ｊ）ｍ、ａｍ−１、及びコード成分ｃ１〜ｃ６を入力し、ｃ（ｍ−１）ｊを出力する。
【０４６４】
“ｃ（ｍ−１）ｊ”回路ブロックは、“Ｘ  Ｚｐ”回路ブロック、“３  ｂｉｔ  ＡＤ（８）  ｍｏｄ  ７”回路ブロック、”３  ｂｉｔ  ＡＤ  ｍｏｄ  ７”回路ブロック及びインバータＩＶ１を有する。
【０４６５】
“Ｘ  Ｚｐ”回路ブロックでは、（ｊ）ｍとａｍ−１との積を生成しインバータＩＶ１を介して“３  ｂｉｔ  ＡＤ（８）  ｍｏｄ  ７”回路ブロックに出力する。
【０４６６】
“３  ｂｉｔ  ＡＤ（８）  ｍｏｄ  ７”回路ブロックでは、インバータＩＶ１を介して出力された出力（ｊ）ｍａｍ−１の補数を求め、−ｊｍａｍ−１を生成し、“３  ｂｉｔ  ＡＤ  ｍｏｄ  ７”回路ブロックに出力する。
【０４６７】
“３  ｂｉｔ  ＡＤ  ｍｏｄ  ７”回路ブロックは、−ｊｍａｍ−１とｃｊ（＝ｃ（ｍ−２）ｊ）との和を生成する。この生成された和が“ｃ（ｍ−１）ｊ”回路ブロックの出力であるｃ（ｍ−１）ｊとなる。
【０４６８】
続いて、数２９に基づいてａｍを生成する回路について説明する。以下において、この回路を“ａｍ”回路ブロックと呼ぶ。
【０４６９】
図８８は、“ａｍ”回路ブロックの回路記号を示す図であり、図８９は、“ａｍ”回路ブロックのブロック図である。
【０４７０】
“ａｍ”回路ブロックは、クロックｃｌｊに同期して動作する回路であり、（ｊ）ｍ＋１、及びｃ（ｍ−１）ｊを入力し、ａｍを出力する。
【０４７１】
“ａｍ”回路ブロックは、“ｊ−１  ｄｅｃ”回路ブロック、２つの“Ｘ  Ｚｐ”回路ブロック＜１＞、＜２＞、“３  ｂｉｔ  ＡＤ  ｍｏｄ  ７”回路ブロック、及び“Ｒｇｓｔｒ”レジスタを有する。
【０４７２】
“ｊ−１  ｄｅｃ”回路ブロックでは、（ｊ）ｍ＋１を、その逆元（ｊ）−（ｍ＋１）に変換し、“Ｘ  Ｚｐ”回路ブロック＜１＞に出力する。
【０４７３】
“Ｘ  Ｚｐ”回路ブロック＜１＞は、“ｊ−１  ｄｅｃ”回路ブロックから入力された（ｊ）−（ｍ＋１）と、“ｃ（ｍ−１）ｊ”回路ブロックから出力されるｃｊ（＝ｃ（ｍ−１）ｊ）との積演算をし、“３  ｂｉｔ  ＡＤ  ｍｏｄ  ７”回路ブロックに出力する。
【０４７４】
“３  ｂｉｔ  ＡＤ  ｍｏｄ  ７”回路ブロックから出力された積は、初期値が‘０’の“Ｒｇｓｔｒ”レジスタと“３  ｂｉｔ  ＡＤ  ｍｏｄ  ７”回路ブロックからなるループによって加算されて行く。この結果は、“３  ｂｉｔ  ＡＤ  ｍｏｄ  ７”回路ブロックから“Ｘ  Ｚｐ”回路ブロック＜２＞に出力される。
【０４７５】
“Ｘ  Ｚｐ”回路ブロック＜２＞では、“３  ｂｉｔ  ＡＤ  ｍｏｄ  ７”回路ブロックから出力された和と６−１＝６との積を演算し、“ａｍ”回路ブロックの出力であるａｍを得る。
【０４７６】
次に、図８６〜図８９を用いて説明した“Ｃ（ｍ−１）ｊ”回路ブロック及び“ａｍ”回路ブロックを用いたデータコードＡを求める計算回路について説明する。以下において、この回路を“ｃ／ａｍ”回路ブロックと呼ぶ。
【０４７７】
図９０は、“ｃ／ａｍ”回路ブロックの回路記号を示す図であり、図９１は、 “ｃ／ａｍ”回路ブロックのブロック図である。
【０４７８】
“ｃ／ａｍ”回路ブロックは、クロックｃｋ及びｃｌで制御される。ここで、クロックｃｌは、クロックｃｋが立ち上がる間に６回立ち上がるパルスである。
【０４７９】
“ｃ／ａｍ”回路ブロックは、クロックｃｋｍに同期し、Ｚｐの要素のｍ＋１乗である１ｍ＋１〜６ｍ＋１と先のクロックｃｋｍ−１のタイミングで計算されたリー・メトリック・コードＣの変形成分ｃ（ｍ−１）１〜ｃ（ｍ−１）６を入力として、新たなリー・メトリック・コードＣの変形成分ｃ（ｍ）１からｃ（ｍ）６とデータコードＡの成分の一つａｍを出力する。
【０４８０】
“ｃ／ａｍ”回路ブロックは、“Ｒ（１〜６）”レジスタ部、“ＭＸ”回路ブロック、“ａｍ”回路ブロック及び６つの“ｃ（ｍ−１）ｊ”回路ブロック＜１＞〜＜６＞を有する。
【０４８１】
“Ｒ（１〜６）”レジスタ部は、クロックｃｋｍの立ち上がりで、リー・メトリック・コードＣの変形成分ｃ（ｍ−１）１〜ｃ（ｍ−１）６を取り込んでラッチする。
【０４８２】
“ＭＸ”回路ブロックは、クロックｃｌｊに同期して、“Ｒ（１〜６）”レジスタ部の出力とＺｐの要素のｍ＋１乗である１ｍ＋１〜６ｍ＋１を入力し、ｊｍ＋１とｃ（ｍ−１）ｊを取り出し“ａｍ”回路ブロックに渡すマルチプレクサ回路である。
【０４８３】
“ａｍ”回路ブロックは、クロックｃｌｊを６回受けて、データコード成分ａｍを計算する。
【０４８４】
６個の“ｃ（ｍ−１）ｊ”回路ブロック＜１＞〜＜６＞は、これらａ１〜ａ６と入力１ｍ＋１〜６ｍ＋１から、新たなリー・メトリック・コードＣの変形成分ｃ（ｍ）１〜ｃ（ｍ）６を同時に計算する。
【０４８５】
次に、前述の“ｃ／ａｍ”回路ブロックを用いたデータコードＡを得る計算回路について説明する。以下では、この計算回路を「逆変換回路」と呼ぶ。
【０４８６】
図９２中（Ａ）は、逆変換回路のブロック図であり、図９２中（Ｂ）は、この逆変換回路を制御するクロックｃｋ及びｃｌのタイミングチャートである。
【０４８７】
図９２中（Ｂ）に示すように、クロックｃｋ及びｃｌは、所定のクロックｃｋの立ち上がりから次のクロックｃｋの立ち上がりまでの間に、クロックｃｌが６回立ち上がる関係となっている。
【０４８８】
逆変換回路は、“（ｊ）ｉ  ｒｅｇｉｓｔｅｒ”回路ブロック、“ｃ／ａｍ”回路ブロック及び“Ｌｉ（０〜３）”レジスタ部を有する。
【０４８９】
“（ｊ）ｉ  ｒｅｇｉｓｔｅｒ”回路ブロックは、クロックｃｋｍ（ｍ＝０〜３）に同期して、１ｍ＋１〜６ｍ＋１（図９２のｊｍ＋１）を並列に出力する。これら１ｍ＋１〜６ｍ＋１は“ｃ／ａｍ”回路ブロックに入力される。
【０４９０】
“ｃ／ａｍ”回路ブロックは、出力ｃ（ｍ）１〜ｃ（ｍ）６と入力ｃ（ｍ−１）１〜ｃ（ｍ−１）６を直結する。クロックｃｋ０のときの初期値ｃ（−１）１〜ｃ（−１）６は、リー・メトリック・コードＣの成分ｃ１〜ｃ６を設定しておく。“ｃ／ａｍ”回路ブロックは、クロックｃｌの１サイクルが終わる度に、数２９に示したａｍを算出する。ａｍは、次のクロックｃｌの１サイクルの始まりであるクロックｃｋｍ＋１によって、“Ｌｉ（０〜３）”レジスタ部の第ｍレジスタに格納される。
【０４９１】
全てのクロックのサイクルが終了すると、“Ｌｉ（０〜３）”レジスタ部には、コードデータＡが格納されることになる。
【０４９２】
＜リー・メトリックの演算回路＞
ＥＣＣによるデータ処理では、エラー訂正の可否などを判断する際にシンドロームＳ０のリー・メトリック｜Ｓ０｜を用いる。そこで、次は、Ｚｐ（ｐ＝７）の要素のリー・メトリックを計算する演算回路素子について説明する。以下において、この演算回路素子を“３  ｂｉｔ  ＬＭ７”回路ブロックと呼ぶ。
【０４９３】
３ビットのバイナリ表示のＺｐの要素ａについて、そのリー・メトリックＱ＝｜ａ｜は、Ｑ＝／ＰＦ０×ａ＋ＰＦ０×（７−ａ）と表現できる。ここでＰＦ０は、ａ≧４の場合に‘１’、ａ＜４の場合に‘０’になる。したがって、ａのリー・メトリックを求めるには、ａ≧４の場合、７からａを引く、即ち、７にａの補数を加えれば良い。
【０４９４】
ｈ＝３、ｐ＝７の場合のＡとＱの関係は数３０のようになる。
［数３０］
2013122797.tif 000035
【０４９５】
図９３は、“３  ｂｉｔ  ＬＭ７”回路ブロックの回路記号を示す図であり、図９４は、“３  ｂｉｔ  ＬＭ７”回路ブロックのブロック図である。
【０４９６】
“３  ｂｉｔ  ＬＭ７”回路ブロックは、３ビットのバイナリＡ０〜Ａ２を入力し、３ビットのバイナリＱ０〜Ｑ３を出力する。
【０４９７】
“３  ｂｉｔ  ＬＭ７”回路ブロックは、ＸＯＲゲートＧ１及び３個の半加算器ＨＡ１〜ＨＡ３を有する。
【０４９８】
ＸＯＲゲートＧ１は、Ａｊ（ｊ＝０〜２）及びＰＦ０を入力し、Ｂｊを出力する。
全加算器ＦＡ１は、入力がＢ０及びＰＦ０、桁上げ入力がＰＦ０、出力がＱ０、桁上げ出力がＣ０となっている。全加算器ＦＡ２は、入力がＢ１及びＰＦ０、桁上げ入力がＣ０、出力がＱ１、桁上げ出力がＣ１となっている。全加算器ＦＡ３は、入力がＢ２及びＰＦ０、桁上げ入力がＣ１、出力がＱ２となっている。
【０４９９】
入力が４以上になったらａの補数を７に加えている。ａの補数は、ＰＦ０＝１の場合、ＸＯＲゲートＧ１でａの各ビット表示Ａｊを反転してＢｊとし、これに１を加えて生成されている。
【０５００】
ｐ＝７は、７＝（１１１）２であるので、これをＰＦ０で表し、更に、１としてＰＦ０を使い、これらとバイナリの和としてＢｊと加えている。
【０５０１】
“３  ｂｉｔ  ＬＭ７”回路は、クロックに非同期で動作し、入力を入れると計算されたリー・メトリックを出力する。
【０５０２】
［まとめ］
以上、実施形態に係る半導体記憶装置の場合、フローティングアクセス方式のアクセス動作を採用することで、アクセス動作時の消費電力が小さくすることができる。また、メモリセルの不良発生に対応するための回路が不要となる。更に、三次元構造の抵抗変化メモリであるため大容量ファイルメモリの実現が容易である。
【０５０３】
［その他］
以上、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０５０４】
１・・・メモリセルアレイ、２・・・カラム制御回路、２´・・・ビット線ドライバ、３・・・ロウ制御回路、３´・・・ワード線ドライバ、１００・・・メモリデバイス、２００・・・メモリコントローラ、２０１・・・７進数変換部、２０２・・・エンコード部、２０３・・・シンドローム生成部、２０４・・・解探索多項式生成部、２０５、２０６、２５２、２５３・・・エラー探索部、２０７・・・コード復元部、２０８・・・デコード部、２０９・・・２３進数変換部、２５１・・・ユークリッド反復処理部、２５４・・・２４進数変換部。
【図１】
2013122797.tif 000036
【図２】
2013122797.tif 000037
【図３】
2013122797.tif 000038
【図４】
2013122797.tif 000039
【図５】
2013122797.tif 000040
【図６】
2013122797.tif 000041
【図７】
2013122797.tif 000042
【図８】
2013122797.tif 000043
【図９】
2013122797.tif 000044
【図１０】
2013122797.tif 000045
【図１１】
2013122797.tif 000046
【図１２】
2013122797.tif 000047
【図１３】
2013122797.tif 000048
【図１４】
2013122797.tif 000049
【図１５】
2013122797.tif 000050
【図１６】
2013122797.tif 000051
【図１７】
2013122797.tif 000052
【図１８】
2013122797.tif 000053
【図１９】
2013122797.tif 000054
【図２０】
2013122797.tif 000055
【図２１】
2013122797.tif 000056
【図２２】
2013122797.tif 000057
【図２３】
2013122797.tif 000058
【図２４】
2013122797.tif 000059
【図２５】
2013122797.tif 000060
【図２６】
2013122797.tif 000061
【図２７】
2013122797.tif 000062
【図２８】
2013122797.tif 000063
【図２９】
2013122797.tif 000064
【図３０】
2013122797.tif 000065
【図３１】
2013122797.tif 000066
【図３２】
2013122797.tif 000067
【図３３】
2013122797.tif 000068
【図３４】
2013122797.tif 000069
【図３５】
2013122797.tif 000070
【図３６】
2013122797.tif 000071
【図３７】
2013122797.tif 000072
【図３８】
2013122797.tif 000073
【図３９】
2013122797.tif 000074
【図４０】
2013122797.tif 000075
【図４１】
2013122797.tif 000076
【図４２】
2013122797.tif 000077
【図４３】
2013122797.tif 000078
【図４４】
2013122797.tif 000079
【図４５】
2013122797.tif 000080
【図４６】
2013122797.tif 000081
【図４７】
2013122797.tif 000082
【図４８】
2013122797.tif 000083
【図４９】
2013122797.tif 000084
【図５０】
2013122797.tif 000085
【図５１】
2013122797.tif 000086
【図５２】
2013122797.tif 000087
【図５３】
2013122797.tif 000088
【図５４】
2013122797.tif 000089
【図５５】
2013122797.tif 000090
【図５６】
2013122797.tif 000091
【図５７】
2013122797.tif 000092
【図５８】
2013122797.tif 000093
【図５９】
2013122797.tif 000094
【図６０】
2013122797.tif 000095
【図６１】
2013122797.tif 000096
【図６２】
2013122797.tif 000097
【図６３】
2013122797.tif 000098
【図６４】
2013122797.tif 000099
【図６５】
2013122797.tif 000100
【図６６】
2013122797.tif 000101
【図６７】
2013122797.tif 000102
【図６８】
2013122797.tif 000103
【図６９】
2013122797.tif 000104
【図７０】
2013122797.tif 000105
【図７１】
2013122797.tif 000106
【図７２】
2013122797.tif 000107
【図７３】
2013122797.tif 000108
【図７４】
2013122797.tif 000109
【図７５】
2013122797.tif 000110
【図７６】
2013122797.tif 000111
【図７７】
2013122797.tif 000112
【図７８】
2013122797.tif 000113
【図７９】
2013122797.tif 000114
【図８０】
2013122797.tif 000115
【図８１】
2013122797.tif 000116
【図８２】
2013122797.tif 000117
【図８３】
2013122797.tif 000118
【図８４】
2013122797.tif 000119
【図８５】
2013122797.tif 000120
【図８６】
2013122797.tif 000121
【図８７】
2013122797.tif 000122
【図８８】
2013122797.tif 000123
【図８９】
2013122797.tif 000124
【図９０】
2013122797.tif 000125
【図９１】
2013122797.tif 000126
【図９２】
2013122797.tif 000127
【図９３】
2013122797.tif 000128
【図９４】
2013122797.tif 000129