(57)【要約】【課題】ディスターブを軽減した強誘電体メモリを提供する。【解決手段】強誘電体メモリ装置は、複数の強誘電体メモリセルを含むメモリ配列と、書き込みデータとパリティ生成行列とを乗算することにより検査ビットを生成し、書き込みデータである情報ビットと検査ビットとを並べたハミング符号を出力する符号生成回路と、ハミング符号をメモリ配列に書き込むドライバ回路とを含み、パリティ生成行列の全ての行について、一行内に存在する「１」の個数が偶数である。【選択図】図４
2015072727.tif 000002
【特許請求の範囲】
【請求項１】
複数の強誘電体メモリセルを含むメモリ配列と、
書き込みデータとパリティ生成行列とを乗算することにより検査ビットを生成し、前記書き込みデータである情報ビットと前記検査ビットとを並べたハミング符号を出力する符号生成回路と、
前記ハミング符号を前記メモリ配列に書き込むドライバ回路と
を含み、前記パリティ生成行列の全ての行について、一行内に存在する「１」の個数が偶数である強誘電体メモリ装置。
【請求項２】
前記強誘電体メモリセルは１Ｔ１Ｃ型である請求項１記載の強誘電体メモリ装置。
【請求項３】
前記符号生成回路は、前記ハミング符号の全ビットに対するパリティビットを更に出力し、前記ドライバ回路は、前記ハミング符号と前記パリティビットとを前記メモリ配列に書き込む請求項１又は２記載の強誘電体メモリ装置。
【請求項４】
前記符号生成回路は、前記ハミング符号の全ビットに対するパリティビットの反転値を有するビットを更に出力し、前記ドライバ回路は、前記ハミング符号と前記反転値を有するビットとを前記メモリ配列に書き込む請求項１又は２記載の強誘電体メモリ装置。
【請求項５】
前記メモリ配列から読み出された前記パリティビットの論理値を反転する回路を更に含む請求項４記載の強誘電体メモリ装置。
【請求項６】
前記符号生成回路は、全ビットの論理値が１である検査ビットを生成し、前記書き込みデータである情報ビットと前記全ビットの論理値が１である検査ビットとを並べたデータを出力する請求項１乃至５何れか一項記載の強誘電体メモリ装置。
【請求項７】
前記メモリ配列から読み出した読み出しデータを判定するセンスアンプを更に含み、
前記メモリ配列は複数のワード線を含み、前記複数のワード線のうちの一本に共通に接続され同時に読み書きされる複数の強誘電体メモリセルは、第１のリファレンスセルと第２のリファレンスセルとを含み、前記センスアンプは、
前記第１のリファレンスセルから読み出されたデータと前記読み出しデータとを比較する第１のセンスアンプと、
前記第２のリファレンスセルから読み出されたデータと前記読み出しデータとを比較する第２のセンスアンプと
を含むツインセンスアンプ方式のセンスアンプである請求項１乃至５何れか一項記載の強誘電体メモリ装置。
【請求項８】
複数の強誘電体メモリセルを含むメモリ配列に対してハミング符号を書き込むメモリ書き込み方法であって、
全ての行について一行内に存在する「１」の個数が偶数であるパリティ生成行列と書き込みデータとを乗算することにより検査ビットを生成し、
前記書き込みデータである情報ビットと前記検査ビットとを並べたハミング符号を前記メモリ配列に書き込む
段階を含むメモリ書き込み方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本願開示は、強誘電体メモリ装置及びメモリ書き込み方法に関する。
【背景技術】
【０００２】
強誘電体メモリは、メモリセルとして強誘電体容量を用い、電源オフ時であっても情報を保持することができる。強誘電体メモリにおいては、強誘電体容量に正または負の電圧を印加して分極させることにより書き込みを行い、強誘電体容量に正電圧を印加したときの分極反転電流の有無を検出することにより読み出しを行う。
【０００３】
図１は、強誘電体メモリのメモリセル構成の一例を示す図である。図１に示すメモリセルは、セル選択トランジスタ１０、強誘電体キャパシタ１１、ワード線ＷＬ、ビット線ＢＬ、及びプレート線ＰＬを含む。このメモリセルは、１つのトランジスタと１つのキャパシタとにより１ビットの情報を記憶するものであり、１Ｔ１Ｃ型メモリセルと呼ばれる。
【０００４】
書き込み動作においては、ワード線ＷＬを選択状態（ＨＩＧＨ）にして、セル選択トランジスタ１０をＯＮにする。ビット線ＢＬとプレート線ＰＬ間に正又は負の電圧が加えられると、強誘電体キャパシタ１１にこの電圧が印加され、所望のデータが書き込まれる。"０"データを書き込む場合は、ビット線ＢＬをＬＯＷとし、プレート線ＰＬをＨＩＧＨにする。また"１"データを書き込む場合は、ビット線ＢＬをＨＩＧＨとし、プレート線ＰＬをＬＯＷに設定する。書き込み動作後に印加電圧が消えても強誘電体容量の分極は保持されるので、書き込まれたデータは不揮発データとして保持される。
【０００５】
読み出し動作においては、ワード線ＷＬを選択してセル選択トランジスタ１０をＯＮにし、プレート線ＰＬをＨＩＧＨに設定する。ビット線ＢＬは略ＬＯＷに保たれており、強誘電体キャパシタ１１には正電圧が印加される。強誘電体キャパシタ１１に"０"が格納されている場合には、強誘電体キャパシタ１１にかかる電圧は書き込み時と同一の極性であるために、分極の反転は起こらない。従って比較的小さな電荷がビット線ＢＬに流れる。強誘電体キャパシタ１１に"１"が格納されている場合には、強誘電体キャパシタ１１にかかる電圧は書き込み時と反対極性であるために、分極の反転が起こる。従って、大きな反転電荷がビット線ＢＬに流れる。この電流をセンスアンプで検知することにより、データを判定する。
【０００６】
図２は、図１に示す強誘電体メモリセルの動作波形を示す図である。強誘電体メモリの読み出し動作は、格納データを破壊する破壊読出しである。強誘電体メモリでは、読出し動作と書き込み動作とに関わらず、まず読出し動作を実行する。
【０００７】
図２に示されるように、まずワード線ＷＬをＨＩＧＨに設定し、図１に示すセル選択トランジスタ１０を導通させた後、プレート線ＰＬをＨＩＧＨに上昇させて、強誘電体キャパシタ１１内の電荷をビット線ＢＬに出力させる。この読出し動作の後に、書き込み動作を実行する。
【０００８】
書き込み動作では、まずプレート線ＰＬをＬＯＷに下降させる。その後、「０」を書き込む場合には、ビット線ＢＬ及びプレート線ＰＬを、そのままＬＯＷに固定したままとする。また「１」を書き込む場合には、プレート線ＰＬはＬＯＷのままで、ビット線ＢＬをＨＩＧＨに変化させる。その後、書き込み動作を終了させる際に、ＲＴＺ方式の強誘電体メモリでは、ビット線ＢＬをＬＯＷに下降させる。
【０００９】
「１」を書き込む為にビット線ＢＬをＨＩＧＨからＬＯＷに変化させると、強誘電体キャパシタ１１を介してビット線ＢＬとプレート線ＰＬとが容量結合されているため、プレート線ＰＬの電位がビット線ＢＬに引っ張られて瞬間的に下降する。このため、図２に示すようなアンダーシュート波形１５がプレート線ＰＬに発生する。
【００１０】
メモリアレイにおいて、通常、ワード線ＷＬとプレート線ＰＬとは、同一行の複数の強誘電体メモリセルに接続されている。従って、同一のプレート線ＰＬに接続された強誘電体キャパシタ１１のうちで、「１」を書き込まれた強誘電体キャパシタ１１の数が多い場合、アンダーシュートによるプレート線ＰＬの電位の低下量が大きくなる。その結果、このプレート線ＰＬに接続されている「０」を書き込まれた強誘電体キャパシタ１１の分極量が低下するディスターブ現象が発生し、強誘電体メモリの信頼性が低下してしまう。
【００１１】
図３は、「０」を書き込まれた強誘電体キャパシタがディスターブを受ける原理を説明する図である。
【００１２】
「０」が書き込まれた強誘電体キャパシタは、印加電圧がゼロの状態であり、図３（ａ）に示されるヒステリシス特性を示す曲線上において、分極状態１６の位置に相当する分極状態にある。その後、プレート線ＰＬを共有する他の強誘電体キャパシタへの「１」の書き込み終了により、プレート線ＰＬにアンダーシュートが発生すると、印加電圧が負になる方向、即ち図中左側に向かい電圧状態が変化する。その結果、「０」が書き込まれた強誘電体キャパシタの分極状態は、図３（ｂ）に示される分極状態１７の位置に移動する。その後プレート線ＰＬの電位が元に戻ると、強誘電体キャパシタのヒステリシス内でのマイナーループ特性に従って分極状態が変化するため、「０」が書き込まれた強誘電体キャパシタの分極状態は、図３（ｃ）に示される分極状態１８の位置に移動してしまう。このように、初期の分極状態１６と比較して分極状態１８となることで、「０」の分極量が低下してしまう。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】特開２００５−１３５４８８号公報
【特許文献２】特開２００７−８０３４３号公報
【特許文献３】特開２００９−６４４４０号公報
【特許文献４】特開２００４−２２７６８６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１４】
以上を鑑みると、ディスターブを軽減した強誘電体メモリが望まれる。
【課題を解決するための手段】
【００１５】
強誘電体メモリ装置は、複数の強誘電体メモリセルを含むメモリ配列と、書き込みデータとパリティ生成行列とを乗算することにより検査ビットを生成し、前記書き込みデータである情報ビットと前記検査ビットとを並べたハミング符号を出力する符号生成回路と、前記ハミング符号を前記メモリ配列に書き込むドライバ回路とを含み、前記パリティ生成行列の全ての行について、一行内に存在する「１」の個数が偶数である。
【発明の効果】
【００１６】
少なくとも１つの実施例によれば、ディスターブを軽減した強誘電体メモリを提供することができる。
【図面の簡単な説明】
【００１７】
【図１】強誘電体メモリのメモリセル構成の一例を示す図である。
【図２】図１に示す強誘電体メモリセルの動作波形を示す図である。
【図３】「０」を書き込まれた強誘電体キャパシタがディスターブを受ける原理を説明する図である。
【図４】強誘電体メモリ装置の構成の一例を示す図である。
【図５】センスアンプの構成の一例を示す図である。
【図６】符号生成回路にて用いるパリティ生成行列の構成の一例を示す図である。
【図７】図６（ｂ）のパリティ生成行列を実現する論理回路の構成の一例を示す図である。
【図８】検査及び誤り訂正回路において用いる検査行列の一例を示す図である。
【図９】図８の検査行列を実現する論理回路の構成の一例を示す図である。
【図１０】拡張ハミング符号のパリティ生成行列の一例を示す図である。
【図１１】図１０のパリティ生成行列を実現する論理回路の構成の一例を示す図である。
【図１２】拡張ハミング符号を用いた場合に検査及び誤り訂正回路において用いる検査行列の一例を示す図である。
【図１３】図１２の検査行列を実現する論理回路の構成の一例を示す図である。
【図１４】拡張ハミング符号を用いる場合に符号生成回路に用いる論理回路の構成の変形例を示す図である。
【図１５】拡張ハミング符号を用いる場合に検査及び誤り訂正回路に用いる論理回路の構成の変形例を示す図である。
【図１６】強誘電体メモリ装置の構成の変形例を示す図である。
【図１７】強誘電体メモリ装置の書き込み時の動作の一例を示すフローチャートである。
【図１８】強誘電体メモリ装置の読み出し時の動作の一例を示すフローチャートである。
【図１９】符号生成回路に用いるパリティ生成行列を実現する論理回路の構成の一例を示す図である。
【発明を実施するための形態】
【００１８】
以下に、本発明の実施例を添付の図面を用いて詳細に説明する。
【００１９】
図４は、強誘電体メモリ装置の構成の一例を示す図である。図４に示す強誘電体メモリ装置は、メモリ配列２０、符号生成回路２１、ビット線書き込みドライバ２２、コラム選択デコーダ２３、ロウ選択デコーダ２４、センスアンプ２５、及び検査及び誤り訂正回路２６を含む。なお図４及び以降の同様の図において、各ボックスで示される各回路又は機能ブロックと他の回路又は機能ブロックとの境界は、基本的には機能的な境界を示すものであり、物理的な位置の分離、電気的な信号の分離、制御論理的な分離等に対応するとは限らない。各回路又は機能ブロックは、他のブロックと物理的にある程度分離された１つのハードウェアモジュールであってもよいし、或いは他のブロックと物理的に一体となったハードウェアモジュール中の１つの機能を示したものであってもよい。
【００２０】
メモリ配列２０は、複数の強誘電体メモリセル２９を含む。強誘電体メモリセル２９は縦横にマトリクス状に配置される。横方向に一行に並ぶ複数の強誘電体メモリセル２９は共通のワード線ＷＬ及びプレート線ＰＬに接続され、縦方向に一列に並ぶ複数の強誘電体メモリセル２９は共通のビット線ＢＬに接続される。ワード線ＷＬ及びプレート線ＰＬはロウ選択デコーダ２４により選択的に駆動され、ビット線ＢＬはコラム選択デコーダ２３に接続されている。複数の強誘電体メモリセル２９の各々は、図１に示される構造を有する。即ち、複数の強誘電体メモリセル２９の各々は、セル選択トランジスタ１０及び強誘電体キャパシタ１１を含み、セル選択トランジスタ１０のゲート端が対応するワード線ＷＬに接続され、強誘電体キャパシタ１１の一端が対応するプレート線ＰＬに接続されている。強誘電体キャパシタ１１の他端はセル選択トランジスタ１０のチャネルの一端に接続され、セル選択トランジスタ１０のチャネルの他端は対応するビット線ＢＬに接続されている。メモリ配列２０の強誘電体メモリセル２９は１Ｔ１Ｃ型である。
【００２１】
ロウ選択デコーダ２４が、ロウアドレスに応じて複数のワード線ＷＬのうちの一本のワード線ＷＬを選択的に活性化することにより、活性化されたワード線ＷＬに接続される複数の強誘電体メモリセル２９の強誘電体キャパシタ１１が、ビット線ＢＬに接続される。コラム選択デコーダ２３が、書き込み対象のコラムアドレスのビット線ＢＬに書き込みデータを供給することにより、書き込み対象のコラムアドレスの強誘電体キャパシタ１１に書き込みデータが書き込まれる。書き込み対象のコラムアドレス以外のコラムアドレスの強誘電体キャパシタ１１に対しては、強誘電体キャパシタ１１から読み出したデータが再書き込みされてよい。強誘電体メモリセル２９に対する読み出し及び書き込み動作は、図２に示した信号波形に従って実行される。
【００２２】
符号生成回路２１には、強誘電体メモリ装置外部から、書き込みデータが印加される。符号生成回路２１は、書き込みデータとパリティ生成行列とを乗算することにより検査ビットを生成し、書き込みデータである情報ビットと検査ビットとを並べたハミング符号を出力する。ハミング符号では、情報ビットが８ビット幅なら４ビットが検査ビットとして必要であり、更に、情報ビットが１６ビット幅なら５ビット、情報ビットが３２ビット幅なら６ビット、情報ビットが６４ビット幅なら７ビットが検査ビットとして必要になる。
【００２３】
例えば、書き込みデータのビット数、即ち情報ビット数が１６ビットの場合、５行×１６列のパリティ生成行列を用意し、このパリティ生成行列と１６ビット長の列ベクトルとを乗算することで、５個の検査ビットを生成する。以下の説明では、情報ビットの数が１６ビットであり、検査ビットの数が５ビットである場合を例として説明するが、情報ビットの数と検査ビットの数とはこれに限られるものではない。
【００２４】
後述するように、符号生成回路２１において用いるパリティ生成行列の全ての行について、一行内に存在する「１」の個数が偶数である。即ち、情報ビットからなるベクトルとの内積（積は論理積であり、和は排他的論理和である積和計算）を計算する対象となる各ベクトルにおいて、「１」の値であるベクトル要素の数が偶数である。
【００２５】
ビット線書き込みドライバ２２は、符号生成回路２１が生成したハミング符号をメモリ配列２０に書き込む。この際、コラム選択デコーダ２３により選択した書き込み対象のコラムアドレスの強誘電体メモリセル２９に対して、データ書き込みが実行される。なおロウアドレスについては、ロウ選択デコーダ２４が書き込みロウアドレスに対応するワード線ＷＬ及びプレート線ＰＬを選択活性化することにより、当該ロウアドレスの強誘電体メモリセル２９に対してデータ書き込みが実行される。
【００２６】
データ読み出し動作の場合、コラム選択デコーダ２３により選択した読み出し対象のコラムアドレスの強誘電体メモリセル２９から読み出したデータが、センスアンプ２５に供給される。具体的には、読み出し対象のコラムアドレスの強誘電体キャパシタ１１からビット線ＢＬに流れた電荷に応じた電圧が、センスアンプ２５に印加される。センスアンプ２５は、メモリ配列２０から読み出した読み出しデータを判定する。即ち、強誘電体キャパシタ１１からビット線ＢＬに流れた電荷量に応じた電圧の判定を行い、読み出しデータが「０」と「１」との何れであるのかを判定する。この読み出しデータは、１６個の情報ビットと５個の検査ビットとの両方を含む。
【００２７】
検査及び誤り訂正回路２６は、１６個の情報ビットと５個の検査ビットとに基づいて、読み出しデータの誤りの検出及び訂正を行う。具体的には、符号生成回路２１と同一の回路を用い、パリティ生成行列と読み出した１６個の情報ビットからなる列ベクトルとを乗算することで、５個の検査ビットを生成する。検査及び誤り訂正回路２６は、生成した５個の検査ビットと読み出した５個の検査ビットとをビット毎に比較することで、５ビットのシンドロームを生成する。シンドロームの５ビットのうち、比較されたビット同士が同値である位置のビットは「０」であり、比較されたビット同士が異なる値である位置のビットは「１」となる。このシンドロームによって誤りの位置を特定することができる。検査及び誤り訂正回路２６は、特定された誤りの発生位置においてビット値を反転することにより、訂正された１６個の情報ビットを読み出しデータとして出力する。この読み出しデータは、強誘電体メモリ装置の外部に出力される。なおハミング符号を用いてエラー訂正を実現する場合には、符号中に１ビットの誤りが発生した場合にエラー訂正が可能であり、２ビットの誤りが発生した場合にエラー検出が可能である。
【００２８】
図５は、センスアンプ２５の構成の一例を示す図である。図５に示すセンスアンプ２５は、第１のセンスアンプ３１、第２のセンスアンプ３２、トランスファーゲート３３乃至３６を含む。端子３７には、強誘電体メモリセル２９からビット線ＢＬに読み出されたデータの電荷量に応じた電圧が印加される。端子３８には、第１のリファレンスセルから読み出されたデータの電荷量に応じた第１の参照電圧ＶＲＥＦ１が印加される。端子３９には、第２のリファレンスセルから読み出されたデータの電荷量に応じた第２の参照電圧ＶＲＥＦ２が印加される。ここで、第１のリファレンスセルと第２のリファレンスセルとは、メモリ配列２０にマトリクス状に配置された複数の強誘電体メモリセル２９に含まれてよい。例えば、図４に示すメモリ配列２０において、一番左端のビット線ＢＬに接続される複数の強誘電体メモリセル２９の一つ一つが第１のリファレンスセルであり、左から２番目のビット線ＢＬに接続される強誘電体メモリセル２９の一つ一つが第２のリファレンスセルであってよい。即ち、複数のワード線ＷＬのうちの一本に共通に接続され同時に読み書きされる複数の強誘電体メモリセル２９は、１個の第１のリファレンスセルと１個の第２のリファレンスセルとを含んでよい。
【００２９】
第１のセンスアンプ３１は、第１のリファレンスセルから読み出されたデータと情報ビットの読み出しデータとを比較する。即ち、第１のセンスアンプ３１は、第１の参照電圧ＶＲＥＦ１と端子３７に印加される読み出しデータの電圧とを比較する。第２のセンスアンプ３２は、第２のリファレンスセルから読み出されたデータと情報ビットとの読み出しデータとを比較する。即ち、第２のセンスアンプ３２は、第２の参照電圧ＶＲＥＦ２と端子３７に印加される読み出しデータの電圧とを比較する。なおこのとき、トランスファーゲート３３乃至３６は、全て導通状態とされている。
【００３０】
第１のセンスアンプ３１及び第２のセンスアンプ３２の各々は、２つの入力端子間の電圧差を増大するように動作する。第１の参照電圧ＶＲＥＦ１がデータ「１」に対応し、第２の参照電圧ＶＲＥＦ２がデータ「０」に対応するとする。このとき、情報ビットの読み出しデータの電圧がデータ「１」に近い電圧である場合、第１のセンスアンプ３１は動作が遅いのに対して、第２のセンスアンプ３２は速く動作して、読み出しデータの電圧が「１」に確定する。逆に、情報ビットの読み出しデータの電圧がデータ「０」に近い電圧である場合、第２のセンスアンプ３２は動作が遅いのに対して、第１のセンスアンプ３１は速く動作して、読み出しデータの電圧が「０」に確定する。このように、センスアンプ２５は、第１のセンスアンプ３１と第２のセンスアンプ３２とにより読み出しデータを判定する、ツインセンスアンプ方式のセンスアンプであってよい。
【００３１】
センスアンプ２５がツインセンスアンプ方式のセンスアンプである場合、一本のワード線ＷＬに接続される複数の強誘電体メモリセル２９のうち、少なくとも１つの強誘電体メモリセル２９は「０」側のリファレンスセルであり、「０」が書き込まれる。従って、情報ビットと検査ビットとの全てのビットが「１」である場合、これら全てのビットからのプレート線ＰＬのアンダーシュートの影響が、１つだけ「０」であるリファレンスセルにもたらされることになる。その結果、この１つだけ「０」であるリファレンスセルが大きなディスターブを受け、センスアンプ２５のセンスマージンが低下し、メモリ装置の信頼性が低下してしまう。
【００３２】
図６は、符号生成回路２１にて用いるパリティ生成行列の構成の一例を示す図である。図６（ａ）は、一般的なパリティ生成行列の一例を示し、図６（ｂ）は、符号生成回路２１に用いるパリティ生成行列の一例を示す。図６（ａ）及び（ｂ）に示すパリティ生成行列は、５行×１６列のサイズであり、このパリティ生成行列と１６ビット長の列ベクトルとを乗算することで、５個の検査ビットを生成する。パリティ生成行列の構成方法としては、行列中の全ての列Ｄ００〜Ｄ１５が互いに異なるビットパターンとなり、且つ、各列に含まれる「１」の数が２個以上であることが要件となる。
【００３３】
図６（ａ）に示すパリティ生成行列の場合、各行に存在する「１」の個数は、行Ｐ０が１０、行Ｐ１が９、行Ｐ２が９、行Ｐ３が７、行Ｐ４が５となる。即ち、行Ｐ４を除く４つの行において、「１」の個数が奇数となっている。この場合、書き込みデータである１６個の情報ビットが全て「１」であるとすると、検査ビットは「０１１１１」となる。即ち、１６個の情報ビットと５個の検査ビットとの計２１ビットのうち、１ビットのみが「０」となってしまう。従って、情報ビットと検査ビットとをメモリ配列２０に書き込む際に、値が「０」であるビットが大きなディスターブを受けることになる。
【００３４】
検査ビットが５個の場合、パリティ生成行列の列として使用できるパターンの総数は２６個である。何故なら２５＝３２であり、３２個のパターンのうち、「１」の数が２個以上であるパターンは２６個だからである。これら２６個のパターンのうち、パリティ生成行列の列として使用するパターンは１６パターンに過ぎない。従って、２６パターンのうちの１６個のパターンを適切に選択することにより、各行に含まれる「１」の数を調整することができる。
【００３５】
図６（ｂ）に示すパリティ生成行列の場合、各行に存在する「１」の個数は、行Ｐ０が１０、行Ｐ１が８、行Ｐ２が８、行Ｐ３が８、行Ｐ４が６となる。即ち、全ての行において、「１」の個数が偶数となっている。この場合、書き込みデータである１６個の情報ビットが全て「１」であるとすると、検査ビットは「０００００」となる。即ち、１６個の情報ビットと５個の検査ビットとの計２１ビットのうち、５ビットが「０」となる。従って、情報ビットと検査ビットとをメモリ配列２０に書き込む際に、値が「０」であるビットが受けるディスターブ量を軽減することができる。
【００３６】
図７は、図６（ｂ）のパリティ生成行列を実現する論理回路の構成の一例を示す図である。符号生成回路２１は、図７に示される論理回路を用いて、書き込みデータとパリティ生成行列とを乗算する論理演算を実行することにより、検査ビットを生成する。
【００３７】
図７に示す論理回路は、複数の排他的論理和回路４０を含む。これらの排他的論理和回路４０の各々において、一方の入力は入力ビットＤ０乃至Ｄ１５のうちの１つであり、他方の入力は入力ビットＤ０乃至Ｄ１５のうちの他の１つ又は他の排他的論理和回路４０の出力である。入力ビットＤ０乃至Ｄ１５のうちのある１つのビットに着目した場合、その着目ビットを入力とする１つの排他的論理和回路４０は、図６（ｂ）のパリティ生成行列の列Ｄ００〜Ｄ１５のうちの対応する１つの列の１つの値「１」に対応する。例えば図６（ｂ）の列Ｄ０５に着目した場合、当該列のビットパターンは「０１０１０」である。このビットパターン「０１０１０」の例えば左から２番目（図の上から２番目）の値「１」は、行Ｐ１の位置にある。この列Ｄ０５の行Ｐ１の位置にある「１」と列Ｄ０５の情報ビットの値との論理積が、検査ビットＰ１を生成する際の排他的論理和の計算において足し込まれる対象の一項となる。即ち、他の情報ビットの値が変化しない場合、列Ｄ０５の情報ビットの値が「１」のときの検査ビットＰ１の値は、列Ｄ０５の情報ビットの値が「０」のときの検査ビットＰ１の値に対して反転することになる。従って、図７に示す論理回路において、パリティ生成行列の列Ｄ０５に対応する入力ビットＤ５の列において、行Ｐ１の位置には排他的論理和回路４０が設けられ、Ｄ０乃至Ｄ４に対して計算された排他的論理和とＤ５の値との排他的論理和を求める。他の入力ビット及び検査ビットについても同様である。
【００３８】
図８は、検査及び誤り訂正回路２６において用いる検査行列の一例を示す図である。図８に示す検査行列は、５行×２１列のサイズであり、この検査行列と２１ビット長の列ベクトルとを乗算することで、５ビットのシンドロームを生成する。この２１ビット長の列ベクトルとは、メモリ配列２０から読み出されてセンスアンプ２５によりデータ判定された１６個の情報ビットと５個の検査ビットである。なお行Ｓ０乃至Ｓ４及び列Ｄ００乃至Ｄ１５の部分の５行×１６列の行列は、図６（ｂ）に示すパリティ生成行列に等しい。即ち、パリティ生成行列と読み出した１６個の情報ビットからなる列ベクトルとを乗算することで、５個の検査ビットを生成し、生成した５個の検査ビットと読み出した５個の検査ビットとをビット毎に比較することで、５ビットのシンドロームを生成している。生成した５個の検査ビットと読み出した５個の検査ビットとをビット毎に比較する計算は、行Ｓ０乃至Ｓ４及び列Ｐ００乃至Ｐ０４の部分の５行×５列の行列部分と読み出した５個の検査ビットからなる列ベクトルとを乗算することにより実行される。
【００３９】
図９は、図８の検査行列を実現する論理回路の構成の一例を示す図である。検査及び誤り訂正回路２６は、図９に示される論理回路を用いて、読み出しデータと検査行列とを乗算する論理演算を実行することにより、シンドロームを生成する。
【００４０】
図９に示す論理回路は、複数の排他的論理和回路４０及び複数の排他的論理和回路４２を含む。複数の排他的論理和回路４０の論理回路部分は、図７に示す論理回路と同一の構成となっている。図９の論理回路では、複数の排他的論理和回路４０の論理回路部分により生成された５個の検査ビットと、読み出された５個の検査ビットＰ０乃至Ｐ４とを、５個の排他的論理和回路４２により、ビット毎に比較してシンドロームＳ０乃至Ｓ４を生成している。比較されたビット同士が同値であれば出力シンドロームの対応ビットは「０」になり、比較されたビット同士が異なる値であれば出力シンドロームの対応ビットは「１」になる。例えば、１ビットの誤りが発生してシンドロームＳ０乃至Ｓ４が「０１０１０」である場合、このシンドロームのビットパターンに等しいビットパターンを有する検査行列の列Ｄ０５の位置において、１ビットの誤りが発生したことになる。
【００４１】
図１０は、拡張ハミング符号のパリティ生成行列の一例を示す図である。図１０に示すパリティ生成行列は、６行×１６列のサイズであり、このパリティ生成行列と１６ビット長の列ベクトルとを乗算することで、６個の検査ビットを生成する。なお行Ｐ０乃至Ｐ４及び列Ｄ００乃至Ｄ１５の部分の５行×１６列の行列は、図６（ｂ）に示すパリティ生成行列に等しい。生成される６個の検査ビットのうち、５個の検査ビットは、図６（ｂ）のパリティ生成行列により生成される検査ビットと同一である。残りの１個の検査ビットは、１６個の全ての情報ビットと生成された５個の全ての検査ビットとについて排他的論理和を計算して得られるパリティビットである。
【００４２】
図１１は、図１０のパリティ生成行列を実現する論理回路の構成の一例を示す図である。符号生成回路２１は、図１１に示される論理回路を用いて、書き込みデータとパリティ生成行列とを乗算する論理演算を実行することにより、検査ビットを生成してよい。この際、符号生成回路２１は、ハミング符号の全ビットに対するパリティビットを更に出力してよい。この場合、図４に示すビット線書き込みドライバ２２は、ハミング符号とパリティビットとをメモリ配列２０に書き込むことになる。
【００４３】
図１１に示す論理回路は、複数の排他的論理和回路４０及び複数の排他的論理和回路４４を含む。複数の排他的論理和回路４０の論理回路部分は、図７に示す論理回路と同一の構成となっている。図１１の論理回路では、複数の排他的論理和回路４０の論理回路部分により５個の検査ビットＰ０乃至Ｐ４を生成する。図１１の論理回路では更に、複数の排他的論理和回路４４により、１６個の全ての情報ビットＤ０乃至Ｄ１５と生成された５個の全ての検査ビットＰ０乃至Ｐ４とについて排他的論理和を計算し、検査ビットＰ５を生成する。この検査ビットＰ５は、１６個の情報ビットＤ０乃至Ｄ１５と５個の検査ビットＰ０乃至Ｐ４とに存在する「１」の個数が偶数のときに「０」となり、奇数のときに「１」となるパリティビットである。
【００４４】
図１２は、拡張ハミング符号を用いた場合に検査及び誤り訂正回路２６において用いる検査行列の一例を示す図である。図１２に示す検査行列は、６行×２２列のサイズであり、この検査行列と２２ビット長の列ベクトルとを乗算することで、６ビットのシンドロームを生成する。この２２ビット長の列ベクトルとは、メモリ配列２０から読み出されてセンスアンプ２５によりデータ判定された１６個の情報ビットと６個の検査ビットである。なお行Ｓ０乃至Ｓ４及び列Ｄ００乃至Ｄ１５の部分の５行×１６列の行列は、図６（ｂ）に示すパリティ生成行列に等しい。即ち、パリティ生成行列と読み出した１６個の情報ビットからなる列ベクトルとを乗算することで、５個の検査ビットを生成し、生成した５個の検査ビットと読み出した５個の検査ビットとをビット毎に比較することで、５ビットのシンドロームＳ０乃至Ｓ４を生成している。生成した５個の検査ビットと読み出した５個の検査ビットとをビット毎に比較する計算は、行Ｓ０乃至Ｓ４及び列Ｐ００乃至Ｐ０４の部分の５行×５列の行列部分と読み出した５個の検査ビットからなる列ベクトルとを乗算することにより実行される。また行Ｓ５及び列Ｄ００乃至Ｐ０５の部分の１行×２２列の行列部分は、読み出された１６個の全ての情報ビットＤ０乃至Ｄ１５と読み出された６個の全ての検査ビットＰ０乃至Ｐ５とについて排他的論理和を計算し、シンドロームＳ５を生成している。
【００４５】
読み出した情報ビットと検査ビットとに含まれる誤りが１ビットのみである場合、シンドロームＳ５は「１」となる。この場合、検査及び誤り訂正回路２６は、シンドロームＳ０乃至Ｓ４のビットパターンに応じて１ビットの誤りビット位置を特定し、誤り訂正をすることができる。読み出した情報ビットと検査ビットとに含まれる誤りが２ビットである場合、シンドロームＳ５は「０」となり、シンドロームＳ０乃至Ｓ４の部分に値「１」のビットが含まれることになる。この場合、シンドロームのビットパターンが１ビット誤りでは発生し得ないパターンとなるので、検査及び誤り訂正回路２６は誤り訂正を行うことなく、誤りが発生したことを外部に通知する。
【００４６】
図１３は、図１２の検査行列を実現する論理回路の構成の一例を示す図である。検査及び誤り訂正回路２６は、図１３に示される論理回路を用いて、読み出しデータと検査行列とを乗算する論理演算を実行することにより、シンドロームを生成してよい。
【００４７】
図１３に示す論理回路は、複数の排他的論理和回路４０、複数の排他的論理和回路４２、及び複数の排他的論理和回路４４を含む。複数の排他的論理和回路４０の論理回路部分は、図７に示す論理回路と同一の構成となっている。図１３の論理回路では、複数の排他的論理和回路４０の論理回路部分により生成された５個の検査ビットと、読み出された５個の検査ビットＰ０乃至Ｐ４とを、５個の排他的論理和回路４２により、ビット毎に比較してシンドロームＳ０乃至Ｓ４を生成している。比較されたビット同士が同値であれば出力シンドロームの対応ビットは「０」になり、比較されたビット同士が異なる値であれば出力シンドロームの対応ビットは「１」になる。
【００４８】
図１３の論理回路では更に、複数の排他的論理和回路４４により、読み出された１６個の全ての情報ビットＤ０乃至Ｄ１５と読み出された６個の全ての検査ビットＰ０乃至Ｐ５とについて排他的論理和を計算し、シンドロームＳ５を生成する。このシンドロームＳ０は、１６個の情報ビットＤ０乃至Ｄ１５と６個の検査ビットＰ０乃至Ｐ５とに存在する「１」の個数が偶数のときに「０」となり、奇数のときに「１」となるパリティビットである。
【００４９】
図１４は、拡張ハミング符号を用いる場合に符号生成回路２１に用いる論理回路の構成の変形例を示す図である。図１１に示す論理回路の場合、拡張分のパリティビットを除く情報ビットと検査ビットとの合計の個数は２１ビットであり、そのうち少なくとも２個のビットは値が「０」である。２個のビットの値が「０」である場合、値が「１」であるビットの個数は１９個となり、この場合の拡張パリティビットの値は「１」と計算される。従って、全２２ビット中、２０ビットが「１」であることになり、拡張パリティビットを含まない場合（ハミング符号を用いる場合）よりも、ディスターブを受ける量が大きくなってしまう。
【００５０】
図１４に示す論理回路は、図１１に示す論理回路に対して、インバータ４６が追加されている。このインバータ４６により、図１１に示す論理回路により計算した拡張分のパリティビットを反転し、反転後の値を図１４に示す論理回路が出力する拡張分のパリティビットとしている。これにより、２個のビットの値が「０」である場合、値が「１」であるビットの個数は１９個となり、この場合の拡張パリティビットの値は「０」と計算される。従って、全２２ビット中、少なくとも３ビットが「０」であることになり、図１１のようにビット値を反転しない場合と比較して、ディスターブを受ける量が軽減される。
【００５１】
図１５は、拡張ハミング符号を用いる場合に検査及び誤り訂正回路２６に用いる論理回路の構成の変形例を示す図である。図１４に示す論理回路で拡張ハミング符号（ハミング符号＋拡張分のパリティビット）を生成した場合、パリティビット（検査ビットＰ５）は本来のビット値の反転値となっている。図１３の論理回路では、前述のように、複数の排他的論理和回路４４により、読み出された１６個の全ての情報ビットＤ０乃至Ｄ１５と読み出された６個の全ての検査ビットＰ０乃至Ｐ５とについて排他的論理和を計算し、シンドロームＳ５を生成する。図１５の論理回路では、図１３の論理回路に対して、メモリ配列から読み出されたパリティビットの論理値を反転するインバータ４８が追加されている。このインバータ４８により、読み出した検査ビットＰ５の論理値を反転する。この検査ビットＰ５の反転後の値と、１６個の情報ビットＤ０乃至Ｄ１５と、残りの５個の検査ビットＰ０乃至Ｐ４とについて排他的論理和を計算することにより、シンドロームＳ５を生成する。これにより、シンドロームＳ５の正しい値を計算することが可能となる。
【００５２】
図１６は、強誘電体メモリ装置の構成の変形例を示す図である。図１６においては、図４と同一又は対応する構成要素は同一又は対応する番号で参照し、その説明は適宜省略する。また図１６においては、図４と構成が異なる部分及びその周辺のみを示し、図４と構成が同一である部分については図示を省略してある。
【００５３】
図１６に示す強誘電体メモリ装置においては、図４に示す符号生成回路２１の代わりに符号生成回路２１Ａが設けられ、図４に示す検査及び誤り訂正回路２６の代わりに検査回路２６Ａと誤り訂正回路２６Ｂが設けられる。符号生成回路２１Ａは、符号生成回路２１と同様に、書き込みデータとパリティ生成行列とを乗算することにより検査ビットを生成し、書き込みデータである情報ビットと検査ビットとを並べたハミング符号を出力する。検査回路２６Ａは、メモリ配列２０から読み出された情報ビットと検査ビットとに基づいてシンドロームを計算し、読み出しデータの誤りの検出を行う。誤り訂正回路２６Ｂは、シンドロームにより特定された誤りの発生位置においてビット値を反転することにより、訂正された情報ビットを読み出しデータとして出力する。図１６の強誘電体メモリ装置においては、強誘電体メモリ装置の外部からの指示に応じてアサートされる全ビット１モード信号が、符号生成回路２１Ａと検査回路２６Ａとに印加される。全ビット１モード信号は、情報ビットと検査ビットとの全てのビットを「１」に設定する場合にアサートされる信号である。
【００５４】
図１７は、強誘電体メモリ装置の書き込み時の動作の一例を示すフローチャートである。なお図１７及び以降の図において、フローチャートに記載された各ステップの実行順序は一例にすぎず、本願の意図する技術範囲が、記載された実行順番に限定されるものではない。例えば、Ａステップの次にＢステップが実行されるように本願に説明されていたとしても、Ａステップの次にＢステップを実行することが可能なだけでなく、Ｂステップの次にＡステップを実行することが、物理的且つ論理的に可能である場合がある。この場合、どちらの順番でステップを実行しても、当該フローチャートの処理に影響する全ての結果が同一であるならば、本願に開示の技術の目的のためには、Ｂステップの次にＡステップが実行されてもよいことは自明である。Ａステップの次にＢステップが実行されるように本願に説明されていたとしても、上記のような自明な場合を本願の意図する技術範囲から除外することを意図するものではなく、そのような自明な場合は、当然に本願の意図する技術範囲内に属する。
【００５５】
ステップＳ１において、符号生成回路２１Ａに印加される書き込みデータが確定する。ステップＳ２において、符号生成回路２１Ａは、全ビット１モード書き込みか否かを判断する。具体的には、符号生成回路２１Ａは、全ビット１モード信号がアサート状態にある場合に、全ビット１モード書き込みである、と判断する。
【００５６】
ステップＳ２において全ビット１モード書き込みであると判断された場合、ステップＳ３で、符号生成回路２１Ａは、検査ビットを全て「１」に設定する。例えば、検査ビットの個数が５個である場合、検査ビットを「１１１１１」に設定する。その後、ステップＳ５において、符号生成回路２１Ａからビット線書き込みドライバ２２を介して、情報ビットと検査ビットとをメモリ配列２０に書き込む。なおこの場合、外部から印加される書き込みデータの全ビットは「１」になっているため、メモリ配列２０に書き込まれる情報ビットと検査ビットとは全て値が「１」となる。
【００５７】
ステップＳ２において全ビット１モード書き込みでないと判断された場合、ステップＳ４で、符号生成回路２１Ａは、書き込みデータに基づいて通常の検査ビットを生成する。即ち、パリティ生成行列と書き込みデータとを乗算することにより、検査ビットを生成する。その後、ステップＳ５において、符号生成回路２１Ａからビット線書き込みドライバ２２を介して、情報ビットと検査ビットとをメモリ配列２０に書き込む。
【００５８】
図１８は、強誘電体メモリ装置の読み出し時の動作の一例を示すフローチャートである。ステップＳ１１において、情報ビットと検査ビットとがメモリ配列２０から読み出される。ステップＳ１２において、検査回路２６Ａがシンドロームを計算し、計算したシンドロームが全て「１」であるか否かを判断する。例えば、シンドロームのビット幅が５である場合、シンドロームが「１１１１１」であるか否かを判断する。
【００５９】
ステップＳ１２においてシンドロームが全て「１」であると判断された場合、ステップＳ１３で、検査回路２６Ａは、全ビットの値が「１」である状態である、と判断する。ステップＳ１４で、誤り訂正回路２６Ｂは、情報ビットを訂正することなく、そのまま読み出しデータとして出力する。
【００６０】
ステップＳ１２においてシンドロームの少なくとも１ビットは「１」ではないと判断された場合、ステップＳ１５で、検査回路２６Ａは、１ビット誤りを検出したか否かを判断する。１ビット誤りを検出した場合、ステップＳ１６において、誤り訂正回路２６Ｂは、シンドロームが示すビット位置の１ビットを反転することにより、当該ビットを訂正する。１ビット誤りを検出しなかった場合、ステップＳ１７において、誤り訂正回路２６Ｂは、メモリ配列２０から読み出した情報ビットをそのまま読み出しデータとして出力する。
【００６１】
図１９は、符号生成回路２１Ａに用いるパリティ生成行列を実現する論理回路の構成の一例を示す図である。符号生成回路２１Ａは、図１９に示される論理回路を用いて、書き込みデータとパリティ生成行列とを乗算する論理演算を実行することにより、検査ビットを生成してよい。
【００６２】
図１９に示す論理回路は、複数の排他的論理和回路４０及び複数のＯＲ回路５０を含む。複数の排他的論理和回路４０の論理回路部分は、図７に示す論理回路と同一の構成となっている。この回路部分により生成した５個の検査ビットがそれぞれ５個のＯＲ回路５０の一方の入力に印加される。５個のＯＲ回路５０の他方の入力には、全ビット１モード信号が印加される。全ビット１モード信号は、メモリ配列２０に書き込む全てのビットを「１」に設定する場合、「１」のアサート状態に設定される。全ビット１モード信号が「１」に設定されると、各ＯＲ回路５０の出力である検査ビットＰ０乃至Ｐ４が「１」となる。このようにして、符号生成回路２１Ａは、全ビットの論理値が１である検査ビットを生成することができる。
【００６３】
以上、本発明を実施例に基づいて説明したが、本発明は上記実施例に限定されるものではなく、特許請求の範囲に記載の範囲内で様々な変形が可能である。
【符号の説明】
【００６４】
２０  メモリ配列
２１  符号生成回路
２２  ビット線書き込みドライバ
２３  コラム選択デコーダ
２４  ロウ選択デコーダ
２５  センスアンプ
２６  検査及び誤り訂正回路
【図１】
2015072727.tif 000003
【図２】
2015072727.tif 000004
【図３】
2015072727.tif 000005
【図４】
2015072727.tif 000006
【図５】
2015072727.tif 000007
【図６】
2015072727.tif 000008
【図７】
2015072727.tif 000009
【図８】
2015072727.tif 000010
【図９】
2015072727.tif 000011
【図１０】
2015072727.tif 000012
【図１１】
2015072727.tif 000013
【図１２】
2015072727.tif 000014
【図１３】
2015072727.tif 000015
【図１４】
2015072727.tif 000016
【図１５】
2015072727.tif 000017
【図１６】
2015072727.tif 000018
【図１７】
2015072727.tif 000019
【図１８】
2015072727.tif 000020
【図１９】
2015072727.tif 000021