(58)【調査した分野】(Int.Cl.,DB名)
mビットのデータビット用記憶素子とnビットの検査ビット用記憶素子で構成された1ユニットを基本単位とする、データビットと検査ビットを格納するための不揮発性半導体記憶素子アレイと、
前記不揮発性半導体記憶素子アレイから読み出した1ユニットのデータビットと検査ビットから誤り訂正符号を生成する誤り訂正符号生成回路と、
第1状態と第2状態を切替える制御信号を出力する制御信号生成回路と、
少なくとも前記検査ビットを含む第2状態用データと、前記データビットのうち前記第2状態用データと同じビット数の第1状態用データを入力され、前記制御信号によって前記第1状態用データと前記第2状態用データとを選択して出力するマルチプレクサと、
前記データビットのうち前記第1状態用データを除いたデータと、前記第1状態用データまたは前記第2状態用データと、前記誤り訂正符号とによって前記データビットと同数のビット数のみの誤り訂正する誤り訂正回路と、
を備えたことを特徴とする不揮発性半導体記憶装置。
【背景技術】
【0002】
従来のECC回路を搭載した不揮発性半導体記憶装置について説明する。
図8は従来のECC回路を搭載した不揮発性半導体記憶装置を示す回路図である。
【0003】
従来のECC回路を搭載した不揮発性半導体記憶装置は、ECCエンコーダ81、データセルアレイ82、検査ビットセルアレイ83、シンドロームでコーダ84、誤り訂正部84、を備えている。
【0004】
データの書込み時には、従来の不揮発性半導体記憶装置は以下のように動作する。データセルアレイ82は、ライトデータWDを受けて格納する。ECCエンコーダ81は、ライトデータWDを受けてライトデータWDに対応するECCコードを生成して、検査ビットセルアレイ83に出力する。検査ビットセルアレイ83は、ECCコードを受けて格納する。
【0005】
データの読出し時には、従来の不揮発性半導体記憶装置は以下のように動作する。シンドロームデコーダ84は、データセルアレイ82のライトデータWDと検査ビットセルアレイ83のECCコードを用いて誤り検出を行い、シンドロームデータを生成して、誤り訂正部85に出力する。誤り訂正部85は、ライトデータWDとECCコードとシンドロームデータによって誤り訂正をして、リードデータRDを出力する(例えば、特許文献1参照)。
【発明を実施するための形態】
【0013】
以下、本発明の実施形態について図面を参照して説明する。
本発明のECC回路を搭載した不揮発性半導体記憶装置の誤り訂正回路105は、32ビットのデータビットRD[31:0]のみの誤り検出と訂正をするように構成する。すなわち、誤り訂正回路105は、6ビットの検査ビットC[5:0]の誤り検出と訂正をする回路を設けないことによって回路を小型化している。
【0014】
そして、テスト状態において、記憶素子アレイから読み出したデータビットの一部と検査ビットを入れ替えて誤り訂正回路に入力するマルチプレクサを設けることで、検査ビットの誤り検出と訂正することによって、検査ビットも含めた出荷検査を可能にした。
【0015】
このとき、不揮発性記憶素子アレイ101には、データビットRD[31:0]が全て0のデータの場合は検査ビットC[5:0]も全て0のデータが、データビットRD[31:0]が全て1のデータの場合は検査ビットC[5:0]も全て1のデータが書き込まれている。これらは、書込み回路に備えられた検査ビットC[5:0]を生成する回路によっても良いし、外部からデータを入力されるようにしても良い。
【0016】
<第一の実施形態>
図1は第一の実施形態のECC回路を搭載した不揮発性半導体記憶装置の構成である。
【0017】
第一の実施形態のECC回路を搭載した不揮発性半導体記憶装置は、不揮発性記憶素子アレイ101と、CG(コントロールゲート)バイアス切替回路113と、センスアンプ102と、Hマトリクスシンドロームデコーダ103と、マルチプレクサ104、106と、制御信号生成回路111と、誤り訂正回路105と、パラレル−シリアル変換回路108と、DOUT端子109を備えている。
【0018】
CGバイアス切替回路113は、内部で生成される通常時のCGバイアスと、外部から入力されるテスト用CGバイアス電圧とを切替えて出力する。制御信号生成回路111は、入力される状態信号に応じてマルチプレクサ104と誤り訂正回路105に制御信号を出力する。
【0019】
不揮発性記憶素子アレイ101は、ライトデータWDを格納するためのmビットのデータビット用記憶素子と、誤り訂正符号を格納するためのnビットの検査ビット用記憶素子で構成された1ユニットを基本単位として、複数のユニットがアレイ状に配置されている。本実施形態では一例として、ライトデータWDは32ビットのデータビットと6ビットの検査ビットからなる38ビットのライトデータWD[37:0]として説明する。
【0020】
本実施形態のECC回路を搭載した不揮発性半導体記憶装置は、記憶素子アレイへの書込み用の回路については省略している。
【0021】
図6は、FLOTOX型の不揮発性メモリで構成した不揮発性記憶素子アレイ101の1ユニットの構成例を示す回路図である。
【0022】
不揮発性記憶素子アレイ101の1ユニットは、m+n個のセレクトゲートトランジスタ602と、m+n個のセルトランジスタ603と、ユニットセレクトトランジスタ604で構成される。ビット線B0〜Bm+nは、それぞれ対応するセレクトゲートトランジスタ602のドレインに接続される。CGバイアス線611は、ユニットセレクトトランジスタ604のドレインに接続さ、そのソースを介して(CGバイアス線611´)セルトランジスタ603のゲートに接続される。ワード線612は、セレクトゲートトランジスタ602のゲート電極とユニットセレクトトランジスタ604のゲート電極に接続される。メモリセル601は、各ビット線Bと直列に接続されたセレクトゲートトランジスタ602とセルトランジスタ603で構成される。
【0023】
図7は、FLOTOX型の不揮発性メモリ(セルトランジスタ603とセレクトゲートトランジスタ602)の断面図である。コントロールゲート702とトンネルドレイン705の間に電界をかけて、フローティングゲート703に電荷を注入または引き抜きを行う事で、データの書き込み及び消去を行う事ができる。
【0024】
不揮発性メモリは、以下のようにしてデータを読み出すことが出来る。ワード線612に正電圧を印加して、ユニットセレクトトランジスタ604をオンする。セレクトゲートトランジスタ602のゲート701にも正電圧が印加されるので、セレクトゲートトランジスタ602はオンする。セルトランジスタ603のコントロールゲート702は、ユニットセレクトトランジスタ604を介して、CGバイアスが印加される。この状態で、ビット線Bから接地端子に電流が流れるか否か、もしくは電流の大小をセンスアンプ回路で検知して、メモリセルのデータを判別する。
【0025】
次に、第一の実施形態のECC回路を搭載した不揮発性半導体記憶装置の動作について説明する。
先ず、通常時のデータ読み出し動作について説明する。
CGバイアス切替回路113は、入力されるCGバイアスのうち、通常時のCGバイアスを選択して、不揮発性記憶素子アレイ101へ供給する。
【0026】
不揮発性記憶素子アレイ101の1ユニットのメモリセルから38ビットの読み出しデータUD[37:0]がセンスアンプ102で読み出される。それらは、32ビットのデータビットRD[31:0]と6ビットの検査ビットC[5:0]に振り分けられる。Hマトリックスシンドロームデコーダー103は、データビットRD[31:0]と検査ビットC[5:0]を受けて、6ビットのシンドロームデータS[5:0]を生成する。Hマトリクスシンドロームデコーダ103は、誤り訂正符号生成回路として動作する。
【0027】
マルチプレクサ104は、データビットRD[7:0]を選択して誤り訂正回路105へ送る。そして、誤り訂正回路105は、センスアンプ102から入力されるデータビットRD[31:8]及びデータビットRD[7:0]とシンドロームデータS[5:0]によって、データビットRD[31:0]の32ビット中の1ビットの誤りを訂正して、コレクトデータCD[31:0]を出力する。
【0028】
誤り訂正回路105より出力されたコレクトデータCD[32:0]は、マルチプレクサ106によりアドレスデータのうち下位2ビットのA[1:0]に応じて8ビット毎に選択されて、リードデータとしてパラレル−シリアル変換回路108に送られ、さらにパラレル−シリアル変換回路108にてクロックに同期して1ビットずつDOUT端子109へシリアルにデータを転送して出力される。
【0029】
次に、テストモード時のデータ読み出し動作について説明する。
テストモードの不良ビット数判定モードでは、不良ビットが1ビット以下なのか2ビット以上なのかを判定する。制御信号生成回路111は、入力される状態信号に応じてマルチプレクサ104と誤り訂正回路105に制御信号を出力する。
【0030】
まず、第一の状態として、制御信号生成回路111は通常の読み出し動作時と同じようにデータが流れるようにマルチプレクサ104及び誤り訂正回路105を設定する。そして、1ユニットの全てのデータが1もしくは0が書き込まれた状態で、コレクトデータCD[31:0]を読み出す。
【0031】
読み出されたコレクトデータCD[31:0]の全てのデータが1もしくは0であれば、データビットRD[31:0]は32ビット中に1ビット以下の誤りであると判断することが出来る。
【0032】
次に、第二の状態として、制御信号生成回路111の制御信号によって、マルチプレクサ104と誤り訂正回路105は、次のように制御される。マルチプレクサ104は、2ビットの固定値C[7:6]と6ビットの検査ビットC[5:0]を検査ビットとして誤り訂正回路105に送る。2ビットの固定値C[7:6]は、1ユニットに書き込まれた全てのデータが1のときは(1、1)が、0のときは(0、0)が選択される。誤り訂正回路105は、シンドロームデータS[5:0]と誤り訂正すべきデータとの演算の組み合わせを変更する。すなわち、誤り訂正回路105は、データビットRD[31:8]、固定ビットC[7:6]及び検査ビットC[5:0]の32ビットが誤り訂正すべきデータとする。
【0033】
不揮発性記憶素子アレイ101の1ユニットのメモリセルから38ビットの読み出しデータUD[37:0]がセンスアンプ102で読み出される。それらは、32ビットのデータビットRD[31:0]と6ビットの検査ビットC[5:0]に振り分けられる。Hマトリックスシンドロームデコーダー103は、データビットRD[31:0]と検査ビットC[5:0]を受けて、6ビットのシンドロームデータS[5:0]を生成する。
【0034】
マルチプレクサ104は、2ビットの固定値C[7:6]と6ビットの検査ビットC[5:0]を選択して誤り訂正回路105へ送る。そして、誤り訂正回路105は、センスアンプ102から入力されるデータビットRD[31:8]、2ビットの固定値C[7:6]及び6ビットの検査ビットC[5:0]とシンドロームデータS[5:0]によって、その32ビット中の1ビットの誤りを訂正して、コレクトデータCD[31:0]を出力する。
【0035】
読み出されたコレクトデータCD[31:0]の全てのデータが1もしくは0であれば、データビットRD[31:8]、2ビットの固定値C[7:6]及び6ビットの検査ビットC[5:0]は32ビット中に1ビット以下の誤りであると判断することが出来る。
【0036】
従って、第二の状態では、検査ビットC[5:0]の6ビットもふくめた32ビット中に1ビット以下の誤りであるかを検査することが出来る。
【0037】
以上説明したようなテスト方法を、CGバイアス切替回路113が外部から入力されるテスト用CGバイアス電圧を選択して不揮発性記憶素子アレイ101に印加しながら読み出しを行うと、メモリセルが所定のしきい値電圧に満たないビットが1ビット以下なのかもしくは2ビット以上なのかを判定することが可能となる。
【0038】
なお、1ユニットの構成として「m=32,n=6」の場合を例として開示をしているが、mとnの数値の組み合わせはこれに限定されるものではなくどのような組み合わせを用いても同様にテストすることができる。また、不揮発性記憶素子はFLOTOX型を例に説明したが不揮発性記憶素子であればこの構成に限るものではない。
【0039】
以上により、本実施形態の不揮発性半導体記憶装置は、誤り訂正部の機能を損なうことなく、簡便な回路で小型化することが出来る。
【0040】
<第二の実施形態>
図2は、第二の実施形態のECC回路を搭載した不揮発性半導体記憶装置の構成である。
【0041】
第一の実施形態との違いは、2ビットの固定値C[7:6]を削除した点である。従って、マルチプレクサ204は、第一の状態ではデータビットRD[5:0]を選択し、第二の状態で検査ビットC[5:0]を選択する構成とした。そして、誤り訂正回路205は、データビットRD[31:6]とマルチプレクサ204が出力する6ビットの合計32ビットのデータについて誤り検出と訂正をする。
【0042】
このような構成することで、2ビットの固定値C[7:6]を選択して出力する回路を削除することができ、更に回路で小型化することが出来る。
【0043】
<第三の実施形態>
図3は、第三の実施形態のECC回路を搭載した不揮発性半導体記憶装置の構成である。
【0044】
第一の実施形態との違いは、不揮発性記憶素子アレイ101に対するデータ書き込みの経路としてGマトリクスECCエンコーダ301とライトデータラッチ302を追加した点である。Hマトリクスシンドロームデコーダ103とGマトリクスECCエンコーダ301は誤り訂正符号生成回路として動作する。
【0045】
不揮発性記憶素子アレイ101にデータの書き込みを行う場合には、指定されたアドレスが含まれる1ユニットのデータを一度読み出し、誤り訂正したコレクトデータCD[31:0]をライトデータラッチ302へ一度保存する。これをリードバック動作という。つぎに、指定されたアドレスの書き込みデータである8ビットのデータDIN[7:0]をライトデータラッチ302へ送り、コレクトデータCD[31:0]と置き換える。
【0046】
GマトリクスECCエンコーダ301は、32ビットのデータビットWD[31:0]が入力されると、6ビットの検査ビットWD[37:32]を出力する。ここで、GマトリクスECCエンコーダ301は、データビットWD[31:0]の全てが0であると検査ビットWD[37:32]は全て0を出力し、全てが1であると全て1を出力する、ように構成する。
【0047】
最後に、ライトデータラッチ302のデータを32ビットのデータビットWD[31:0]と検査ビットWD[37:32]と合わせて、38ビットのデータビットWD[37:0]として不揮発性記憶素子アレイ101に書き換える。1ユニット中の不良ビット数の判定方法は、第一の実施形態と同様である。
【0048】
このようにして、第一の実施形態と同様に、本実施形態の不揮発性半導体記憶装置は、誤り訂正部の機能を損なうことなく、簡便な回路で小型化することが出来る。
【0049】
<第四の実施形態>
図4は、第四の実施形態のECC回路を搭載した不揮発性半導体記憶装置の構成である。第一の実施形態との違いは、マルチプレクサ104を不良ビット数演算回路401に変更した点である。
【0050】
不良ビット数演算回路401は、例えば、不揮発性記憶素子アレイ101の1ユニット中に全てデータ1を書かれた状態で、読み出し動作を行った結果のデータビットRD[31:0]と検査ビットC[5:0]中にデータ0が2ビット以上あることを検出すると、不良ユニット検知フラグ402をマルチプレクサ403へ送る。
【0051】
また、不良ビット数演算回路401は、不揮発性記憶素子アレイ101の1ユニット中に全てデータ0として書かれた状態で、読み出し動作を行った結果のデータビットRD[31:0]と検査ビットC[5:0]中にデータ1が2ビット以上あることを検出すると、不良ユニット検知フラグ402をマルチプレクサ403へ送る。
【0052】
このようにして、不良ユニット検知フラグ402をマルチプレクサ403とパラレル−シリアル変換回路108を介してDOUT端子109から読み出すことで、良品か不良品かを簡単に判別できる。
【0053】
従って、本実施形態の不揮発性半導体記憶装置は、誤り訂正部の機能を損なうことなく、簡便な回路で小型化することが出来る。
【0054】
<第五の実施形態>
図5は、第五の実施形態のECC回路を搭載した不揮発性半導体記憶装置の構成である。
【0055】
第一の実施形態との違いは、マルチプレクサ104を不良ビット数演算回路501に変更した点である。
【0056】
不良ビット数演算回路501は、データビットRD[31:0]を8ビット毎の1バイト単位で不良ビット数が1ビット以下なのか2ビット以上なのかを判定し、かつ検査ビットC[5:0]も独立に不良ビット数を演算して、都合5ビットの不良ユニット検知フラグ502としてマルチプレクサ503へ送る構成となっている。
【0057】
5ビットの不良検知フラグ502の全てが非検出としての0なのか、もしくは1つでも検出としての1なのかをマルチプレクサ503とパラレル−シリアル変換回路108を介してDOUT端子109から読み出すことで、良品か不良品かを簡単に判別できる。そして、CGバイアス切替回路113で外部からのCGバイアスをつかって同様の動作を行う事で、メモリセルが所定のしきい値電圧に満たないビットが1ビット以下なのかもしくは2ビット以上なのかを判定することが可能となる。