(57)【要約】【課題】半導体記憶装置中のデータ読み出し回路から出力される出力データの信頼性を向上させること。【解決手段】本発明に係るデータ読み出し回路２０は、センスアンプ回路３０と、セレクタ４０とを備える。センスアンプ回路３０は、メモリセルアレイ１０に格納されている格納データＤＳを複数のリファレンスレベルＲＥＦ１，ＲＥＦ２を用いてセンスし、その格納データＤＳに関して複数のリファレンスレベルＲＥＦ１，ＲＥＦ２のそれぞれに対応する複数のリードデータＤＲ１，ＤＲ２を出力する。セレクタ４０は、制御信号に基づいて複数のリードデータＤＲ１，ＤＲ２のうちいずれか１つに対応するデータを選択し、選択されたデータを出力データＤｏｕｔとして出力する。【選択図】図１
2008052798.tif 000002
【特許請求の範囲】
【請求項１】
メモリセルアレイに格納されている格納データを複数のリファレンスレベルを用いてセンスし、前記格納データに関して前記複数のリファレンスレベルのそれぞれに対応する複数のリードデータを出力するセンスアンプ回路と、
制御信号に基づいて前記複数のリードデータのうちいずれか１つに対応するデータを選択し、前記選択されたデータを出力データとして出力するセレクタと
を備える
データ読み出し回路。
【請求項２】
請求項１に記載のデータ読み出し回路であって、
更に、前記格納データに対応付けられたエラー訂正コード（ECC: Error Correction Code）を用いることによって、前記複数のリードデータのそれぞれの不良ビット数を検出するＥＣＣ回路を備え、
前記ＥＣＣ回路は、前記検出されたそれぞれの不良ビット数を示す複数の不良ビット数信号を前記制御信号として前記セレクタに出力する
データ読み出し回路。
【請求項３】
請求項２に記載のデータ読み出し回路であって、
前記セレクタは、前記複数の不良ビット数信号を参照し、前記複数のリードデータのうち前記不良ビット数が最も少ない１つに対応するデータを前記出力データとして選択する
データ読み出し回路。
【請求項４】
請求項２に記載のデータ読み出し回路であって、
前記ＥＣＣ回路は、前記エラー訂正コードを用いたエラー訂正処理を通して前記複数のリードデータのそれぞれから複数の処理後データを生成し、前記複数の不良ビット数信号と共に前記複数の処理後データを前記セレクタに出力し、
前記セレクタは、前記複数の不良ビット信号のうち最少の前記不良ビット数を示す１つを検出し、前記複数の処理後データのうち前記１つの不良ビット数信号に対応する１つを前記出力データとして選択する
データ読み出し回路。
【請求項５】
請求項４に記載のデータ読み出し回路であって、
前記センスアンプ回路は、前記複数のリードデータをパラレルに前記ＥＣＣ回路に出力し、
前記ＥＣＣ回路は、前記複数のリードデータに対して前記エラー訂正処理をパラレルに実行し、前記複数の処理後データをパラレルに出力する
データ読み出し回路。
【請求項６】
請求項４に記載のデータ読み出し回路であって、
前記センスアンプ回路は、前記複数のリードデータをシーケンシャルに前記ＥＣＣ回路に出力し、
前記ＥＣＣ回路は、前記複数のリードデータに対して前記エラー訂正処理をシーケンシャルに実行し、前記複数の処理後データをシーケンシャルに出力する
データ読み出し回路。
【請求項７】
請求項１に記載のデータ読み出し回路であって、
前記制御信号は、前記データ読み出し回路が搭載される半導体記憶装置の動作モードを示すモード信号である
データ読み出し回路。
【請求項８】
請求項７に記載のデータ読み出し回路であって、
前記複数のリファレンスレベルは、第１リファレンスレベルと第２リファレンスレベルを含み、
前記複数のリードデータは、前記第１リファレンスレベルと前記第２リファレンスレベルのそれぞれに対応する第１リードデータと第２リードデータを含み、
前記モード信号が第１動作モードを示す場合、前記セレクタは、前記第１リードデータを前記出力データとして選択し、
前記モード信号が第２動作モードを示す場合、前記セレクタは、前記第２リードデータを前記出力データとして選択する
データ読み出し回路。
【請求項９】
請求項８に記載のデータ読み出し回路であって、
前記半導体記憶装置は、電気的に消去／プログラムが可能なＲＯＭであり、
前記半導体記憶装置の動作速度は、前記第１動作モード時の方が前記第２動作モード時よりも高く、
前記第１リファレンスレベルは前記第２リファレンスレベルより低く設定される
データ読み出し回路。
【請求項１０】
請求項７乃至９のいずれかに記載のデータ読み出し回路であって、
前記センスアンプ回路は、前記複数のリードデータをパラレルに前記セレクタに出力する
データ読み出し回路。
【請求項１１】
請求項７乃至９のいずれかに記載のデータ読み出し回路であって、
前記センスアンプ回路は、前記複数のリードデータをシーケンシャルに出力する
データ読み出し回路。
【請求項１２】
請求項１乃至１１のいずれかに記載のデータ読み出し回路と、
前記データ読み出し回路に接続された前記メモリセルアレイと
を具備する
半導体記憶装置。
【請求項１３】
同じメモリセル群から読み出される複数のリードデータを受け取り、前記同じメモリセル群に格納されたデータに対応付けられたエラー訂正コード（ECC: Error Correction Code）を用いることによって、前記複数のリードデータのそれぞれの不良ビット数を検出するＥＣＣ回路と、
前記複数のリードデータのうち前記不良ビット数が最も少ない１つに対応するデータを選択するセレクタと
を備える
訂正回路。
【請求項１４】
半導体記憶装置におけるデータ読み出し方法であって、
（Ａ）メモリセルアレイに格納されている格納データを複数のリファレンスレベルを用いてセンスし、前記格納データに関して前記複数のリファレンスレベルのそれぞれに対応する複数のリードデータを生成するステップと、
（Ｂ）前記複数のリードデータのうちいずれか１つに対応するデータを選択し、前記選択されたデータを出力データとして出力するステップと
を有する
データ読み出し方法。
【請求項１５】
請求項１４に記載のデータ読み出し方法であって、
前記（Ｂ）ステップは、
（Ｂ１）前記格納データに対応付けられたエラー訂正コード（ECC: Error Correction Code）を用いることによって、前記複数のリードデータのそれぞれの不良ビット数を検出するステップと、
（Ｂ２）前記複数のリードデータのうち前記不良ビット数が最も少ない１つに対応するデータを、前記出力データとして選択するステップと
を含む
データ読み出し方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体記憶装置におけるデータ読み出し技術に関する。
【背景技術】
【０００２】
ＤＲＡＭ（Dynamic Random Access Memory）、ＥＥＰＲＯＭ（Electrically Erasable and Programmable Read Only Memory）、フラッシュメモリ等の半導体記憶装置が知られている。そのような半導体記憶装置におけるデータ読み出し時、一般的に、メモリセルから読み出される読み出しレベルと所定のリファレンスレベルとの比較によって、メモリセルに格納されているデータの判定が行われる。
【０００３】
特許文献１には、第１リファレンス電位と第２リファレンスレベルを用いてデータの判定を行う技術が記載されている。この従来技術によれば、第１リファレンス電位と第２リファレンス電位の設定を工夫することによって、センスアンプ回路におけるデータ判定精度の向上が図られている。センスアンプ回路は、メモリセルから読み出したデータ電位と第１リファレンス電位とを比較してセンス動作を行う第１センスアンプと、データ電位と第２リファレンス電位とを比較してセンス動作を行う第２センスアンプとを含む。第１センスアンプと第２センスアンプの協働により、データ電位が０か１かの判定が行われる。そして、その判定結果に相当する１種類のリードデータが、センスアンプ回路から出力される。
【０００４】
【特許文献１】特開２００５−２０９３０４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
半導体記憶装置において、あるデータがメモリセルに書き込まれた後、そのメモリセルで保持されている保持データが時間的に変動する可能性がある。例えばＥＥＰＲＯＭの場合、浮遊ゲートに対する電子の出入りによって、メモリセルトランジスタの閾値電圧が変動してしまう。これは、保持データの変動（いわゆる「保持抜け」）を招く。保持データの変動は、その半導体記憶装置が搭載されているマイコンの動作不良の原因となる。
【０００６】
保持抜けへの対策として、ＥＣＣ（Error Correction Code）回路が設けられる場合もある。ＥＣＣ回路は、メモリセルから読み出されたデータ中のいくつかの不良ビットを検出し、また、いくつかの不良ビットを訂正することができる。しかし、読み出されたデータ中に訂正可能なビット数を超える数の不良ビットが存在する場合は、ＥＣＣ回路でもデータを訂正することはできない。その場合は、やはりマイコンの動作不良が発生し、マイコンは停止する。上述の特許文献１に記載された半導体記憶装置にＥＣＣ回路が適用されたとしても、同じである。センスアンプ回路から出力される１種類のリードデータに、訂正可能なビット数を超える数の不良ビットが存在する場合、そのリードデータの訂正はもはや不可能である。
【０００７】
保持抜けによるマイコンの動作不良を低減することができる技術が望まれている。
【課題を解決するための手段】
【０００８】
以下に、［発明を実施するための最良の形態］で使用される番号・符号を用いて、［課題を解決するための手段］を説明する。これらの番号・符号は、［特許請求の範囲］の記載と［発明を実施するための最良の形態］との対応関係を明らかにするために括弧付きで付加されたものである。ただし、それらの番号・符号を、［特許請求の範囲］に記載されている発明の技術的範囲の解釈に用いてはならない。
【０００９】
本発明の第１の観点において、データ読み出し回路（２０）が提供される。そのデータ読み出し回路（２０）は、センスアンプ回路（３０）と、セレクタ（４０）とを備える。センスアンプ回路（３０）は、メモリセルアレイ（１０）に格納されている格納データ（ＤＳ）を複数のリファレンスレベル（ＲＥＦ１，ＲＥＦ２）を用いてセンスし、その格納データ（ＤＳ）に関して複数のリファレンスレベル（ＲＥＦ１，ＲＥＦ２）のそれぞれに対応する複数のリードデータ（ＤＲ１，ＤＲ２）を出力する。セレクタ（４０）は、制御信号（ＭＯＤ，ＳＥ１，ＳＥ２）に基づいて複数のリードデータ（ＤＲ１，ＤＲ２）のうちいずれか１つに対応するデータ（ＤＲ１，ＤＲ２，ＤＥ１，ＤＥ２）を選択し、選択されたデータを出力データ（Ｄｏｕｔ）として出力する。
【００１０】
このように、本発明によれば、同じ格納データ（ＤＳ）に関して複数種類のリードデータ（ＤＲ１，ＤＲ２）が生成される。たとえ、あるリファレンスレベル（ＲＥＦ２）を用いることにより得られたリードデータ（ＤＲ２）に不良ビットが存在したとしても、他のリファレンスレベル（ＲＥＦ１）を用いて得られたリードデータ（ＤＲ１）にはその不良ビットが現れないかもしれない。センスアンプ回路（３０）からは複数種類のリードデータ（ＤＲ１，ＤＲ２）が出力されるため、セレクタ（４０）は、それら複数種類のリードデータ（ＤＲ１，ＤＲ２）の中から最も好適な１つを選択することができる。従って、半導体記憶装置（１）から出力される出力データ（Ｄｏｕｔ）の信頼性が向上する。出力データ（Ｄｏｕｔ）の信頼性が向上するため、半導体記憶装置（１）が搭載されるデバイスの動作不良が低減される。
【００１１】
上記制御信号（ＳＥ１，ＳＥ２）は、例えば、ＥＣＣ回路（６０）によって検出される複数のリードデータ（ＤＲ１，ＤＲ２）のそれぞれの不良ビット数を示す。セレクタ（４０）は、複数のリードデータ（ＤＲ１，ＤＲ２）のうち不良ビット数が最も少ない１つに対応するデータ（ＤＥ１，ＤＥ２）を、最適な出力データ（Ｄｏｕｔ）として選択することができる。例えば、あるリファレンスレベル（ＲＥＦ１）を用いることにより得られたリードデータ（ＤＲ１）に１つの不良ビットが存在し、他のリファレンスレベル（ＲＥＦ２）を用いることにより得られたリードデータ（ＤＲ２）に２つの不良ビットが存在するとする。この場合、１つの不良ビットを有するリードデータ（ＤＲ１）は、ＥＣＣ回路（６０）によって訂正可能である。従って、セレクタ（４０）は、訂正処理後のデータ（ＤＥ１）を出力データ（Ｄｏｕｔ）として出力することができる。これにより、半導体記憶装置（１）が搭載されるデバイスの動作不良が回避され、そのデバイスを停止させる必要もなくなる。
【００１２】
本発明の第２の観点において、訂正回路が提供される。その訂正回路は、ＥＣＣ回路（６０）と、セレクタ（４０）とを備える。ＥＣＣ回路（６０）は、同じメモリセル群（１１）から読み出される複数のリードデータ（ＤＲ１，ＤＲ２）を受け取る。そして、ＥＣＣ回路（６０）は、そのメモリセル群（１１）に格納されたデータ（ＤＳ）に対応付けられたエラー訂正コード（ＥＣＣ）を用いることによって、複数のリードデータ（ＤＲ１，ＤＲ２）のそれぞれの不良ビット数を検出する。セレクタ（４０）は、複数のリードデータ（ＤＲ１，ＤＲ２）のうち不良ビット数が最も少ない１つに対応するデータ（ＤＥ１，ＤＥ２）を選択する。
【００１３】
本発明の第３の観点において、半導体記憶装置におけるデータ読み出し方法が提供される。そのデータ読み出し方法は、（Ａ）メモリセルアレイ（１０）に格納されている格納データ（ＤＳ）を複数のリファレンスレベル（ＲＥＦ１，ＲＥＦ２）を用いてセンスし、格納データ（ＤＳ）に関して複数のリファレンスレベル（ＲＥＦ１，ＲＥＦ２）のそれぞれに対応する複数のリードデータ（ＤＲ１，ＤＲ２）を生成するステップと、（Ｂ）複数のリードデータ（ＤＲ１，ＤＲ２）のうちいずれか１つに対応するデータ（ＤＲ１，ＤＲ２，ＤＥ１，ＤＥ２）を選択し、選択されたデータを出力データ（Ｄｏｕｔ）として出力するステップと、を有する。
【発明の効果】
【００１４】
本発明によれば、半導体記憶装置中のデータ読み出し回路から出力される出力データの信頼性が向上する。出力データの信頼性が向上するため、その半導体記憶装置が搭載されるデバイスの動作不良が低減される。
【発明を実施するための最良の形態】
【００１５】
添付図面を参照して、本発明の実施の形態に係る半導体記憶装置を説明する。本実施の形態に係る半導体記憶装置は、例えばマイコンに搭載される。
【００１６】
１．第１の実施の形態
１−１．構成及び動作
図１は、第１の実施の形態に係る半導体記憶装置１の構成を概略的に示している。半導体記憶装置１は、メモリセルアレイ１０とデータ読み出し回路２０を備えている。メモリセルアレイ１０は、アレイ状に配置された複数のメモリセル１１を有している。メモリセアレイ１０のメモリセル１１に格納されているデータは、以下「格納データＤＳ」と参照される。
【００１７】
データ読み出し回路２０は、メモリセルアレイ１０から格納データＤＳを読み出し、読み出されたデータを出力データＤｏｕｔとして出力する。本実施の形態において、データ読み出し回路２０は、メモリセルアレイ１０に接続されたセンスアンプ回路３０と、センスアンプ回路３０に接続されたセレクタ４０を有している。
【００１８】
センスアンプ回路３０は、メモリセルアレイ１０から格納データＤＳを読み出し、読み出されたデータをセレクタ４０に出力する。より具体的には、本実施の形態に係るセンスアンプ回路３０は、メモリセルアレイ１０中の同一のメモリセル群に格納されている同一の格納データＤＳに関して、２種類のリードデータＤＲ１、ＤＲ２を出力することができる。
【００１９】
例えば図１に示されるように、センスアンプ回路３０は、第１センスアンプ回路３１と第２センスアンプ回路３２とを含んでいる。第１センスアンプ回路３１は複数のセンスアンプＳＡを有しており、それら複数のセンスアンプＳＡは、複数のビット線ＢＩＴのそれぞれを介して複数のメモリセル１１に接続されている。同様に、第２センスアンプ回路３２も複数のセンスアンプＳＡを有しており、それら複数のセンスアンプＳＡは、複数のビット線ＢＩＴのそれぞれを介して複数のメモリセル１１に接続されている。つまり、センスアンプ回路３１、３２は、メモリセルアレイ１０に対して並列に接続されている。従って、１つのメモリセル１１は、センスアンプ回路３１、３２の両方に接続されることになる。これら２つのセンスアンプ回路３１、３２を用いることにより、同一のメモリセル群から２種類のリードデータＤＲ１，ＤＲ２を得ることが可能となる。
【００２０】
より詳細には、第１センスアンプ回路３１は、第１リファレンスレベルＲＥＦ１を用いて格納データＤＳをセンス（検知）するように構成されている。そして、第１センスアンプ回路３１は、センスされたデータを第１リードデータＤＲ１としてセレクタ４０に出力する。一方、第２センスアンプ回路３２は、第１リファレンスレベルＲＥＦ１と異なる第２リファレンスレベルＲＥＦ２を用いて同じ格納データＤＳをセンスするように構成されている。そして、第２センスアンプ回路３２は、センスされたデータを第２リードデータＤＲ２としてセレクタ４０に出力する。
【００２１】
例として、８ビットの格納データＤＳが読み出される場合を考える。この時、格納データＤＳは、メモリセルアレイ１０中の８個のメモリセル１１（以下、「対象メモリセル群」と参照される）に格納されている。第１センスアンプ回路３１中の対象メモリセル群に接続された８個のセンスアンプＳＡは、第１リファレンスレベルＲＥＦ１を参照して格納データＤＳをセンスし、そのセンスされたデータを第１リードデータＤＲ１として出力する。同時に、第２センスアンプ回路３２中の対象メモリセル群に接続された８個のセンスアンプＳＡは、第２リファレンスレベルＲＥＦ２を参照して格納データＤＳをセンスし、そのセンスされたデータを第２リードデータＤＲ２として出力する。
【００２２】
このように、本実施の形態に係るセンスアンプ回路３０は、異なるリファレンスレベルＲＥＦ１、ＲＥＦ２を用いることによって、同一の格納データＤＳに関して第１リードデータＤＲ１と第２リードデータＤＲ２を生成する。そして、センスアンプ回路３０は、それら２種類のリードデータＤＲ１、ＤＲ２を、パラレルにセレクタ４０に出力する。
【００２３】
尚、上述の「リファレンスレベル」とは、リファレンス電流あるいはリファレンス電位を意味する。リファレンス電流が用いられる場合、センスアンプＳＡは、対応するビット線ＢＩＴを流れる電流とリファレンス電流との比較により、対応するメモリセル１１に格納されたデータ（ビット）をセンスすることができる。リファレンス電位が用いられる場合、センスアンプＳＡは、対応するビット線ＢＩＴの電位とリファレンス電位との比較により、対応するメモリセル１１に格納されたデータ（ビット）をセンスすることができる。リファレンスレベルの詳細に関しては、後の第５節において説明が行われる。
【００２４】
セレクタ４０は、センスアンプ回路３０から２種類のリードデータＤＲ１、ＤＲ２を受け取る。更に、セレクタ４０は、半導体記憶装置１の外部から入力されるモード信号ＭＯＤを受け取る。モード信号ＭＯＤは、半導体記憶装置１の動作モードを示す信号である。セレクタ４０は、モード信号ＭＯＤに応じて、第１リードデータＤＲ１あるいは第２リードデータＤＲ２のいずれかを選択し、選択された一方を出力データＤｏｕｔとしてバスに出力する。
【００２５】
例えば、モード信号ＭＯＤがＨｉｇｈレベルの場合、セレクタ４０は、第１リードデータＤＲ１を選択し、一方、モード信号ＭＯＤがＬｏｗレベルの場合、セレクタ４０は、第２リードデータＤＲ２を選択する。モード信号ＭＯＤは、セレクタ４０の動作を規定する「制御信号」であると言える。モード信号ＭＯＤの設定例を説明するために、以下、本実施の形態が電気的に消去・プログラムが可能なＲＯＭ（EEPROM: Electrically Erasable and Programmable Read Only Memory）に適用される場合を詳しく説明する。
【００２６】
１−２．スピードマージン、ＤＣマージン
例として、本実施の形態がＥＥＰＲＯＭに適用される場合を考える。この場合、メモリセル１１は、制御ゲートと浮遊ゲートを有するＭＯＳトランジスタ（以下、「メモリセルトランジスタ」と参照される）で構成される。浮遊ゲート中の電荷量によって、メモリセルトランジスタ１１の閾値電圧Ｖｔは変動する。その閾値電圧Ｖｔの大小によって、データ“０”と“１”の区分が可能である。
【００２７】
図２は、ＥＥＰＲＯＭにおける閾値電圧Ｖｔの分布を概念的に示している。縦軸及び横軸は、それぞれ閾値電圧Ｖｔ及びセル数を表している。図２において、高い閾値電圧Ｖｔを有するメモリセルトランジスタ１１（以下、「プログラムセル」と参照される）は、データ“０”に対応付けられている。プログラムセルの分布は、分布Ｄ０で表されている。一方、低い閾値電圧Ｖｔを有するメモリセルトランジスタ１１（以下、「消去セル」と参照される）は、データ“１”に対応付けられる。消去セルの分布は、分布Ｄ１で表されている。
【００２８】
データプログラム時、対象メモリセルの閾値電圧Ｖｔが所定のプログラムレベルより高くなるように、浮遊ゲートに電子が注入される。言い換えれば、対象メモリセルが分布Ｄ０に含まれるように、電子の注入が行われる。一方、データ消去時、対象メモリセルの閾値電圧Ｖｔが所定の消去レベルより低くなるように、浮遊ゲートから電子が引き抜かれる。言い換えれば、対象メモリセルが分布Ｄ１に含まれるように、電子の引き抜きが行われる。
【００２９】
データリード時、読み出し対象のメモリセルトランジスタ１１の制御ゲートには、リード電圧ＶＲが印加される。そのリード電圧ＶＲは、分布Ｄ１よりも高くなるように、且つ、分布Ｄ０よりも低くなるように設定される。従って、データリード時、消去セルからはセル電流が流れる一方、プログラムセルからはセル電流がほぼ流れない。そのセル電流を所定のリファレンス電流と比較することによって、対象メモリセルが消去セルかプログラムセルかを判定することができる。すなわち、所定のリファレンス電流を用いた電流センス方式によって、対象メモリセルに格納されているデータが“０”か“１”を判定することが可能となる。
【００３０】
図３は、データリード時に用いられるリファレンス電流に課される条件を説明するための図であり、縦軸は電流を示している。図３において、消去セルを流れ得るセル電流Ｉｏｎは、所定の消去レベルＩＥよりも大きい。つまり、データ消去時、対象メモリセルを流れ得るセル電流Ｉｏｎが消去レベルＩＥよりも大きくなるように、電子の引き抜きが行われている。また、プログラムセルを流れ得るセル電流Ｉｏｎは、所定のプログラムレベルＩＰよりも小さい。つまり、データプログラム時、対象メモリセルを流れ得るセル電流ＩｏｎがプログラムレベルＩＰよりも小さくなるように、電子の注入が行われている。
【００３１】
まず、一般的な場合として、データリード時に１種類のリファレンス電流ＩＲＥＦがリファレンスレベルとして用いられる場合を考える。リファレンス電流ＩＲＥＦは、消去レベルＩＥとプログラムレベルＩＰとの間のレベルに設定されている。ここで、消去レベルＩＥとリファレンス電流ＩＲＥＦとの間、及び、プログラムレベルＩＰとリファレンス電流ＩＲＥＦとの間には、それぞれ所定のマージンが必要である。
【００３２】
消去レベルＩＥとリファレンス電流ＩＲＥＦとの間に所定のマージンＭＳが必要な理由を、図４を参照して説明する。上述の通り、消去セルにはセル電流Ｉｏｎが流れやすい。そのセル電流Ｉｏｎがリファレンス電流ＩＲＥＦよりも大きいことを検出することによって、センスアンプＳＡはデータ“１”を検知することができる。ここで注意すべきことは、そのセル電流Ｉｏｎは瞬間的に上昇するわけではなく、リード動作が始まる時刻ｔ０から徐々に増加することである。その増加率は、遷移状態後の安定状態におけるセル電流Ｉｏｎ（最大値）が大きいほど、つまり、閾値電圧Ｖｔが低いほど大きくなる。
【００３３】
例えば図４には、消去セルを流れるセル電流の時間変化の様々なパターン（Ｉｏｎ−ａ、Ｉｏｎ−ｂ、Ｉｏｎ−ｃ）が示されている。消去が比較的強く行われた場合、消去セルの閾値電圧Ｖｔは比較的低くなる。その結果、図４中のＩｏｎ−ｃで示されるように、セル電流の増加率は比較的大きくなる。逆に、消去が比較的弱く行われた場合、消去セルの閾値電圧Ｖｔは比較的高くなる。その結果、図４中のＩｏｎ−ａで示されるように、セル電流の増加率は比較的小さくなる。
【００３４】
時刻ｔ１において、セル電流Ｉｏｎ−ａ、Ｉｏｎ−ｂ、Ｉｏｎ−ｃの全てがリファレンス電流ＩＲＥＦよりも大きくなっている。従って、データ判定のタイミングが時刻ｔ１の場合、全てのパターンに関してデータ“１”が正しくセンスされる。しかしながら、データ判定のタイミングが時刻ｔ２である場合、セル電流Ｉｏｎ−ａは、未だリファレンス電流ＩＲＥＦよりも大きくなっていない。従って、セル電流Ｉｏｎ−ａが流れる消去セルに格納されているデータは、誤って“０”と判定されてしまう。
【００３５】
要求されるデータリード速度によって、データ判定のタイミングは異なる。要求されるタイミングまでにセル電流Ｉｏｎ（瞬間値）がリファレンス電流ＩＲＥＦを越えるように、安定状態におけるセル電流Ｉｏｎの大きさ（最大値）、すなわち消去セルの閾値電圧Ｖｔが設定されるべきである。例えばデータ判定のタイミングが時刻ｔ２である場合、安定状態におけるセル電流が少なくともＩｏｎ−ｂより大きくなるように閾値電圧Ｖｔが設定されるべきである。そのセル電流の限界値Ｉｏｎ−ｂとリファレンス電流ＩＲＥＦとの差が、消去レベルＩＥとリファレンス電流ＩＲＥＦとの間に設定されるべきマージンであり、以下「スピードマージンＭＳ」と参照される。
【００３６】
図３に示されるように、消去レベルＩＥとリファレンス電流ＩＲＥＦとの間には、要求されるデータリード速度に応じたスピードマージンＭＳが設定される。要求されるデータリード速度が高くなるにつれ、スピードマージンＭＳも広がる。このようなスピードマージンＭＳを設けることによって、リード時間の不足に起因するデータ誤判定が防止される。
【００３７】
次に、プログラムレベルＩＰとリファレンス電流ＩＲＥＦとの間に所定のマージンＭＤが必要な理由を、図５を参照して説明する。上述の通り、プログラムセルにはセル電流Ｉｏｎが流れにくい。そのセル電流Ｉｏｎがリファレンス電流ＩＲＥＦよりも小さいことを検出することによって、センスアンプＳＡはデータ“０”を検知することができる。ここで注意すべきことは、セル電流Ｉｏｎの大きさが温度に依存することである。それは、メモリセルトランジスタ１１の閾値電圧Ｖｔが温度に依存するからである。閾値電圧Ｖｔは、温度が高くなるほど減少する傾向にあることが知られている。従って、図５に示されるように、温度が高くなるにつれてセル電流Ｉｏｎは大きくなる。
【００３８】
このように、セル電流Ｉｏｎは温度によって変動する。プログラムセルのデータを正確にセンスするためには、要求される動作温度範囲にわたって、セル電流Ｉｏｎがリファレンス電流ＩＲＥＦよりも小さいことが必要である。言い換えれば、動作温度範囲内で温度がどのように変動しても、セル電流Ｉｏｎがリファレンス電流ＩＲＥＦより小さい状態が維持されるようにプログラムが行われるべきである。そのために設けられるマージンが、「ＤＣマージンＭＤ」である。
【００３９】
図３に示されるように、プログラムレベルＩＰとリファレンス電流ＩＲＥＦとの間には、要求される動作温度範囲に応じたＤＣマージンＭＤが設定される。動作温度範囲中の最低温状態でのセル電流Ｉｏｎが少なくともプログラムレベルＩＰより小さくなるように、プログラムセルの閾値電圧Ｖｔが設定される。これにより、ＤＣマージンＭＤの条件が満たされる。要求される動作温度範囲が拡がるにつれ、ＤＣマージンＭＤも広がる。このようなＤＣマージンＭＤを設けることによって、温度変動に起因するデータ誤判定が防止される。尚、消去セルに関するＤＣマージンＭＤは、スピードマージンＭＳにより保証される。
【００４０】
以上が、一般的な場合におけるスピードマージンＭＳ及びＤＣマージンＭＤの説明である。本実施の形態によれば、リファレンスレベルとして、１種類のリファレンス電流ＩＲＥＦではなく、複数種類のリファレンス電流が用いられる。その場合、複数種類のリファレンス電流の各々に対して、スピードマージンＭＳ及びＤＣマージンＭＤが定義され得る。
【００４１】
例えば図３に示されるように、第１リファレンス電流ＩＲＥＦ１及び第２リファレンス電流ＩＲＥＦ２の２種類のリファレンスレベルが用いられる。第１リファレンス電流ＩＲＥＦ１は、第２リファレンス電流ＩＲＥＦ２よりも小さく設定されている。つまり、第１リファレンス電流ＩＲＥＦ１は、消去レベルＩＥからより離れたレベルに設定され、第２リファレンス電流ＩＲＥＦ２は、プログラムレベルＩＰからより離れたレベルに設定されている。これらリファレンス電流ＩＲＥＦ１、ＩＲＥＦ２の各々に対して、スピードマージンＭＳ及びＤＣマージンＭＤが定義され得る。
【００４２】
１−３．高速リードモード、低速リードモード
センスアンプ回路３０は、第１リファレンス電流ＩＲＥＦ１と第２リファレンス電流ＩＲＥＦ２を用いることによって、同一の格納データＤＳに関して第１リードデータＤＲ１と第２リードデータＤＲ２を生成する。セレクタ４０は、モード信号ＭＯＤに応じて、第１リードデータＤＲ１あるいは第２リードデータＤＲ２のいずれかを選択し、選択された一方を出力データＤｏｕｔとして出力する。
【００４３】
本例において、モード信号ＭＯＤは、「高速リードモード」と「低速リードモード」の２種類のモードを表すことができる。モード信号ＭＯＤが「高速リードモード」を示す場合、セレクタ４０は、第１リファレンス電流ＩＲＥＦ１を用いて読み出された第１リードデータＤＲ１を選択する。一方、モード信号ＭＯＤが「低速リードモード」を示す場合、セレクタ４０は、第２リファレンス電流ＩＲＥＦ２を用いて読み出された第２リードデータＤＲ２を選択する。
【００４４】
（高速リードモード）
高速リードモード時、リード開始時間からデータ判定時間までの期間が比較的短い。図４で示されたように、データ判定タイミングでのセル電流Ｉｏｎがリファレンス電流ＩＲＥＦより小さい場合、リード対象セルのデータは“０”と判定される。プログラムセル（データ“０”）に関しては、データが“０”と判定されても何ら問題ない。高速リードモード時に注意するべきは、消去セル（データ“１”）である。
【００４５】
図６は、本実施の形態における高速リードモードを説明するための概念図である。データ消去時、消去セル（データ“１”）は、安定状態でのセル電流Ｉｏｎが消去レベルＩＥを超えるように設定されている。しかしながら、時間経過に伴い、消去セルの浮遊ゲートに電子が注入される場合がある。その場合、消去セルの閾値電圧Ｖｔは増加し、安定状態でのセル電流Ｉｏｎが消去レベルＩＥを下回ってしまう可能性がある。そのようなセルは、以下「保持抜けセル」と参照される。
【００４６】
保持抜けセルに関して、安定状態でのセル電流Ｉｏｎ（図６中黒丸で示されている）の減少に伴い、判定タイミングでのセル電流Ｉｏｎ（図６中白丸で示されている）も減少してしまう。図６に示された例では、判定タイミングでのセル電流Ｉｏｎは、従来のリファレンス電流ＩＲＥＦより小さい。従って、保持抜けセルのデータは、“１”ではなく“０”と判定されてしまう。これは誤判定であり、誤ったデータが出力される。一方、本実施の形態によれば、リファレンス電流ＩＲＥＦより小さい第１リファレンス電流ＩＲＥＦ１が用いられる。図６に示された例では、判定タイミングでのセル電流Ｉｏｎは、その第１リファレンス電流ＩＲＥＦ１より大きい。従って、保持抜けセルのデータであっても、正しく“１”と判定される。つまり、本実施の形態によれば、保持抜けセルの誤判定の確率が低減される。
【００４７】
以上のことを別の観点から説明すると、次の通りである。図６において、第１リファレンス電流ＩＲＥＦ１にスピードマージンＭＳを加算して得られるレベルは、「スピードマージンレベルＩＳ」で示されている。第１リファレンス電流ＩＲＥＦ１は従来のリファレンス電流ＩＲＥＦよりも小さいため、スピードマージンレベルＩＳは消去レベルＩＥよりも低くなる。安定状態でのセル電流ＩｏｎがスピードマージンレベルＩＳよりも大きければ、スピードマージンＭＳの条件は満たされるため、データは正しく“１”と判定される。保持抜けセルに関しても、安定状態でのセル電流ＩｏｎがスピードマージンレベルＩＳより大きければ、たとえそれが消去レベルＩＥを下回っていても、データは正しく“１”と判定される。
【００４８】
このように、本実施の形態によれば、保持抜けセルの誤判定の確率が低減される。それは、従来よりも消去レベルＩＥから離れたレベルに設定された第１リファレンス電流ＩＲＥＦ１が用いられたからである。第１リファレンス電流ＩＲＥＦ１は、消去セルの読み出しに適したリファレンスレベルであると言える。
【００４９】
（低速リードモード）
低速リードモード時、リード開始時間からデータ判定時間までの期間が十分長い。その十分長い期間の間に、消去セルに流れるセル電流Ｉｏｎは、リファレンス電流ＩＲＥＦよりも大きくなるはずである。よって、消去セルのデータが正しく“１”と判定される確率は極めて高い。低速リードモード時に注意するべきは、プログラムセル（データ“０”）である。
【００５０】
図７は、本実施の形態における低速リードモードを説明するための概念図である。データプログラム時、プログラムセル（データ“０”）は、最低温状態でのセル電流ＩｏｎがプログラムレベルＩＰを下回るように設定されている。しかしながら、時間経過に伴い、プログラムセルの浮遊ゲートから電子が抜ける場合がある。その場合、プログラムセルの閾値電圧Ｖｔは減少し、最低温状態でのセル電流ＩｏｎがプログラムレベルＩＰを超えてしまう可能性がある。そのようなセルも保持抜けセルである。
【００５１】
保持抜けセルに関して、最低温状態でのセル電流Ｉｏｎ（図７中黒丸で示されている）の増加に伴い、最高温状態でのセル電流Ｉｏｎ（図７中白丸で示されている）も増加してしまう。図７に示された例では、最高温状態でのセル電流Ｉｏｎは、従来のリファレンス電流ＩＲＥＦより大きい。これは、温度状態によっては保持抜けセルのデータが、“０”ではなく“１”と判定されてしまうことを意味する。一方、本実施の形態によれば、リファレンス電流ＩＲＥＦより大きい第２リファレンス電流ＩＲＥＦ２が用いられる。図７に示された例では、最高温状態でのセル電流Ｉｏｎは、その第２リファレンス電流ＩＲＥＦ２より小さい。従って、保持抜けセルのデータであっても、あらゆる動作温度範囲にわたって正しく“１”と判定されることが保障される。つまり、本実施の形態によれば、保持抜けセルの誤判定の確率が低減される。
【００５２】
以上のことを別の観点から説明すると、次の通りである。図７において、第２リファレンス電流ＩＲＥＦ２からＤＣマージンＭＤを減算して得られるレベルは、「ＤＣマージンレベルＩＤ」で示されている。第２リファレンス電流ＩＲＥＦ２は従来のリファレンス電流ＩＲＥＦよりも大きいため、ＤＣマージンレベルＩＤはプログラムレベルＩＰよりも高くなる。最低温状態でのセル電流ＩｏｎがＤＣマージンレベルＩＤよりも小さければ、ＤＣマージンＭＤの条件は満たされるため、データは正しく“０”と判定される。保持抜けセルに関しても、最低温状態でのセル電流ＩｏｎがＤＣマージンレベルＩＤより小さければ、たとえそれがプログラムレベルＩＰを超えていても、データは正しく“０”と判定される。
【００５３】
このように、本実施の形態によれば、保持抜けセルの誤判定の確率が低減される。それは、従来よりもプログラムレベルＩＰから離れたレベルに設定された第２リファレンス電流ＩＲＥＦ２が用いられたからである。このように、第２リファレンス電流ＩＲＥＦ２は、プログラムセルの読み出しに適したリファレンスレベルであると言える。
【００５４】
１種類のリファレンス電流ＩＲＥＦが用いられる場合、そのリファレンス電流ＩＲＥＦは、消去セルとプログラムセルに兼用されていたと言える。本実施の形態によれば、消去セルの読み出しに適した第１リファレンス電流ＩＲＥＦ１と、プログラムセルの読み出しに適した第２リファレンス電流ＩＲＥＦ２が、別々に用意されている。上述の通り、保持抜けの観点から注意すべきセルは、高速リードモードの場合消去セルであり、低速リードモードの場合プログラムセルである。従って、高速リードモード時には、第１リファレンス電流ＩＲＥＦ１を用いて読み出された第１リードデータＤＲ１が選択され、その第１リードデータＤＲ１が出力データＤｏｕｔとして出力される。一方、低速リードモード時には、第２リファレンス電流ＩＲＥＦ２を用いて読み出された第２リードデータＤＲ２が選択され、その第２リードデータＤＲ２が出力データＤｏｕｔとして出力される。結果として、出力データＤｏｕｔの信頼性が向上する。
【００５５】
モード信号ＭＯＤの設定は、半導体記憶装置１が搭載される製品毎に異なる。高速リードが要求される製品の場合、モード信号ＭＯＤは、高速リードモードを示すように設定される。一方、低速リードで十分な製品の場合、モード信号ＭＯＤは、低速リードモードを示すように設定される。モード信号ＭＯＤの設定は、マイコンのプログラムによって行われる。
【００５６】
１−４．効果
以上に説明されたように、本実施の形態によれば、２種類のリファレンスレベルＲＥＦ１、ＲＥＦ２を用いることによって、同じ格納データＤＳから２種類のリードデータＤＲ１、ＤＲ２が生成される。そして、それら２種類のリードデータＤＲ１、ＤＲ２のうち動作モードに適した一方が、出力データＤｏｕｔとして選択される。従って、出力データＤｏｕｔの信頼性が向上する。出力データＤｏｕｔの信頼性が向上するため、半導体記憶装置１が搭載されるマイコンの動作不良が低減される。
【００５７】
また、本実施の形態によれば、モード信号ＭＯＤの設定を変更することによって、高速リードモードと低速リードモードのいずれにも対応することが可能である。高速リードモード用の半導体メモリチップと低速リード用の半導体メモリチップを別々に製造する必要はなく、同じ回路構成で両リードモードに対応することが可能である。その意味で、本実施の形態に係る半導体記憶装置１は汎用的であると言える。
【００５８】
２．第２の実施の形態
図８は、第２の実施の形態に係る半導体記憶装置１の構成を概略的に示している。図８において、第１の実施の形態における構成と同じ構成には同一の符号が付され、その説明は適宜省略される。
【００５９】
既出の第１の実施の形態において、センスアンプ回路３０は、第１センスアンプ回路３１と第２センスアンプ回路３２を別々に有し、２種類のリードデータＤＲ１、ＤＲ２を、パラレルに出力していた。第２の実施の形態において、センスアンプ回路３０は、２種類のリードデータＤＲ１、ＤＲ２を、シーケンシャルに出力する。具体的には、同じセンスアンプ回路３０が、第１リファレンスレベルＲＥＦ１と第２リファレンスレベルＲＥＦ２を順番に受け取る。そして、そのセンスアンプ回路３０は、第１リファレンスレベルＲＥＦ１と第２リファレンスレベルＲＥＦ２をそれぞれ用いて、第１リードデータＤＲ１及び第２リードデータＤＲ２を順番に生成する。
【００６０】
センスアンプ回路３０とセレクタ４０の間には、レジスタ回路５０が設けられている。センスアンプ回路３０は、２種類のリードデータＤＲ１、ＤＲ２をシーケンシャルにレジスタ回路５０に出力する。レジスタ回路５０には、第１リードデータＤＲ１と第２リードデータＤＲ２が順番に格納される。例えば、レジスタ回路５０は２段のシフトレジスタにより構成され、各段は、リードデータのビット数分のレジスタから構成される。
【００６１】
レジスタ回路５０に格納された第１リードデータＤＲ１及び第２リードデータＤＲ２は、所定のタイミングで、セレクタ４０に同時に出力される。セレクタ４０は、モード信号ＭＯＤに応じて、第１リードデータＤＲ１あるいは第２リードデータＤＲ２のいずれかを選択し、選択された一方を出力データＤｏｕｔとしてバスに出力する。
【００６２】
第２の実施の形態によれば、第１の実施の形態と同じ効果が得られる。
【００６３】
３．第３の実施の形態
３−１．構成及び動作
図９は、第３の実施の形態に係る半導体記憶装置１の構成を概略的に示している。図９において、第１の実施の形態における構成と同じ構成には同一の符号が付され、その説明は適宜省略される。
【００６４】
本実施の形態によれば、センスアンプ回路３０とセレクタ４０との間に、ＥＣＣ（Error Correction Code）回路６０が設けられている。このＥＣＣ回路６０は、第１リードデータＤＲ１と第２リードデータＤＲ２に対してエラー訂正処理を実行する。エラー訂正の性能は、要求される信頼性等により決定される。例えば、ＥＣＣ回路６０は、２ビットの不良を検出し、１ビットの不良を訂正することができるように構成されている。そのエラー訂正処理のために、エラー訂正コードＥＣＣが用いられる。
【００６５】
図９に示されるように、メモリセルアレイ１０は、データ領域１２とＥＣＣ領域１３に区分けされる。データ領域１２中のメモリセル１１には、格納データＤＳが格納される。一方、ＥＣＣ領域１３中のメモリセル１１には、格納データＤＳに対応付けられたエラー訂正コードＥＣＣが格納される。
【００６６】
ある格納データＤＳの書き込み時、図示されないエラー訂正コード作成回路は、その格納データＤＳに基づいてエラー訂正コードＥＣＣを作成する。例えば、格納データＤＳが８ビットの場合、エラー訂正コードＥＣＣは５ビットである。但し、エラー訂正コードＥＣＣのビット数は、格納データＤＳのビット数や要求される信頼性等によって変わる。作成されたエラー訂正コードＥＣＣは、格納データＤＳと共に、図示されない書き込み回路によってメモリセルアレイ１０に書き込まれる。
【００６７】
ある格納データＤＳの読み出し時、第１センスアンプ回路３１は、第１リファレンスレベルＲＥＦ１を用いることによって、その格納データＤＳに対応するエラー訂正コードＥＣＣを読み出す。第１リファレンスレベルＲＥＦ１を用いて読み出されたエラー訂正コードＥＣＣは、以下、エラー訂正コードＥＣＣ１と参照される。また、第２センスアンプ回路３２は、第２リファレンスレベルＲＥＦ２を用いることによって、その格納データＤＳに対応するエラー訂正コードＥＣＣを読み出す。第２リファレンスレベルＲＥＦ２を用いて読み出されたエラー訂正コードＥＣＣは、以下、エラー訂正コードＥＣＣ２と参照される。読み出されたエラー訂正コードＥＣＣ１、ＥＣＣ２は、ＥＣＣ回路６０に入力される。
【００６８】
ＥＣＣ回路６０は、同じ格納データＤＳの読み出しの結果得られる２種類のリードデータＤＲ１、ＤＲ２を、センスアンプ回路３０から受け取る。また、ＥＣＣ回路６０は、その格納データＤＳに対応付けられたエラー訂正コードＥＣＣ１、ＥＣＣ２を受け取る。そして、ＥＣＣ回路６０は、エラー訂正コードＥＣＣ１、ＥＣＣ２を用いることによって、２種類のリードデータＤＲ１、ＤＲ２のそれぞれに対してエラー訂正処理を行う。エラー訂正処理により、ＥＣＣ回路６０は、例えば２ビットの不良を検出し、１ビットの不良を訂正することができるとする。
【００６９】
エラー訂正処理の結果、第１リードデータＤＲ１は、第１処理後データＤＥ１となる。また、第２リードデータＤＲ２は、第２処理後データＤＥ２となる。第１リードデータＤＲ１に不良ビットが存在しない場合、第１処理後データＤＥ１は、第１リードデータＤＲ１と同じである。第１リードデータＤＲ１に１つの不良ビットが存在する場合、第１処理後データＤＥ１は、第１リードデータＤＲ１中の不良ビットが訂正されたデータに相当する。第１リードデータＤＲ１に２以上の不良ビットが存在する場合、第１処理後データＤＥ１は、不定となる。第２処理後データＤＥ２に関しても同様である。ＥＣＣ回路６０は、それら２種類の処理後データＤＥ１、ＤＥ２をセレクタ４０に出力する。
【００７０】
より詳細には、本実施の形態に係るＥＣＣ回路６０は、第１ＥＣＣ回路６１と第２ＥＣＣ回路６２を含んでいる。第１ＥＣＣ回路６１は、第１リードデータＤＲ１とエラー訂正コードＥＣＣ１を受け取り、その第１リードデータＤＲ１に対してエラー訂正処理を行う。その結果、第１ＥＣＣ回路６１は、第１リードデータＤＲ１から第１処理後データＤＥ１を生成する。更に、第１ＥＣＣ回路６１は、第１リードデータＤＲ１中で検出された不良ビットの数を示す第１不良ビット数信号ＳＥ１を生成する。第１ＥＣＣ回路６１は、それら第１処理後データＤＥ１及び第１不良ビット数信号ＳＥ１を、セレクタ４０に出力する。
【００７１】
第２ＥＣＣ回路６２は、第２リードデータＤＲ２とエラー訂正コードＥＣＣ２を受け取り、その第２リードデータＤＲ２に対してエラー訂正処理を行う。その結果、第２ＥＣＣ回路６２は、第２リードデータＤＲ２から第２処理後データＤＥ２を生成する。更に、第２ＥＣＣ回路６２は、第２リードデータＤＲ２中で検出された不良ビットの数を示す第２不良ビット数信号ＳＥ２を生成する。第２ＥＣＣ回路６２は、それら第２処理後データＤＥ２及び第２不良ビット数信号ＳＥ２を、セレクタ４０に出力する。
【００７２】
このように、本実施の形態に係るＥＣＣ回路６０は、２種類のデータ群「ＤＲ１、ＥＣＣ１」と「ＤＲ２、ＥＣＣ２」をパラレルに受け取り、２種類のリードデータＤＲ１、ＤＲ２に対するエラー訂正処理をパラレルに実行する。そして、ＥＣＣ回路６０は、第１処理後データＤＥ１及び第２処理後データＤＥ２を生成し、それら処理後データＤＥ１、ＤＥ２をパラレルにセレクタ４０に出力する。また、ＥＣＣ回路６０は、第１不良ビット数信号ＳＥ１及び第２不良ビット数信号ＳＥ２を、セレクタ４０に出力する。
【００７３】
セレクタ４０は、第１処理後データＤＥ１あるいは第２処理後データＤＥ２のいずれかを選択し、選択された一方を出力データＤｏｕｔとしてバスに出力する。ここで、本実施の形態に係るセレクタ４０は、第１不良ビット数信号ＳＥ１及び第２不良ビット数信号ＳＥ２が示す不良ビット数に基づいて、選択を実行する。つまり、本実施の形態において、セレクタ４０の動作を規定する制御信号は、第１不良ビット数信号ＳＥ１及び第２不良ビット数信号ＳＥ２である。
【００７４】
図１０は、本実施の形態に係るセレクタ４０の論理の一例を示している。不良ビット数信号ＳＥ１、ＳＥ２の各々は、２ビットの信号であるとする。不良ビット数信号ＳＥが“００”、“０１”、“１０”である場合、不良ビット数は、それぞれ０個、１個、２個である。図１０に示されるように、不良ビット数が少ない方の不良ビット数信号（ＳＥ１，ＳＥ２）に対応する処理後データ（ＤＥ１，ＤＥ２）が、セレクタ４０によって選択される。つまり、不良ビット数が最少であったリードデータ（ＤＲ１，ＤＲ２）から生成された処理後データ（ＤＥ１，ＤＥ２）が、セレクタ４０によって選択されている。
【００７５】
例えば、第１リードデータＤＲ１に１つの不良ビットが存在し、第２リードデータＤＲ２に２つの不良ビットが存在する場合を考える（ＳＥ１＝“０１”、ＳＥ２＝“１０”）。この場合、第１リードデータＤＲ１のエラー訂正は可能であるが、第２リードデータＤＲ２のエラー訂正は不可能である。従って、第１リードデータＤＲ１から生成される第１処理後データＤＥ１が、出力データＤｏｕｔとして選択される。選択された第１処理後データＤＥ１は、書き込み時のデータと等しい期待値である。
【００７６】
リードデータＤＲ１、ＤＲ２の双方に２つの不良ビットが存在する場合（ＳＥ１＝“１０”、ＳＥ２＝“１０”）、リードデータＤＲ１、ＤＲ２のいずれに関してもエラー訂正は不可能である。第１処理後データＤＥ１も第２処理後データＤＥ２も、書き込み時のデータと異なる不正確なデータである。この場合、セレクタ４０は、マイコンを停止させるエラー信号ＥＲＲをＣＰＵに出力する。例えば、エラー信号ＥＲＲは、第１不良ビット数信号ＳＥ１の上位ビットと第２不良ビット数信号ＳＥ２の上位ビットとの論理積演算の結果である。エラー信号ＥＲＲが“１”になった場合、ＣＰＵは、マイコンを停止させる。
【００７７】
尚、セレクタ４０とＥＣＣ回路６０を合わせて、「訂正回路」と呼ぶこともできる。また、セレクタ４０は、ＥＣＣ回路６０の内部に設けられていてもよい。
【００７８】
３−２．高速リードモード、低速リードモード
第１の実施の形態における説明と同様に、本実施の形態がＥＥＰＲＯＭに適用される場合を、例として考える。
【００７９】
（高速リードモード）
図１１は、高速リードモードにおける処理の一例を説明するための概念図である。既出の図６及び図７と同様に、縦軸は、電流値を示している。また、書き込み時の格納データＤＳ（期待値）は、８ビットのデータ“１０１０１０１０”であるとする。つまり、格納データＤＳは、４個の消去セルと４個のプログラムセルに格納されている。更に、書き込み後の時間経過によって、一部の消去セルが保持抜けセルとなり、セル電流Ｉｏｎが減少しているとする。また、書き込み後の時間経過によって、一部のプログラムセルが保持抜けセルとなり、セル電流Ｉｏｎが増加しているとする。
【００８０】
高速リードモード時、プログラムセル（データ“０”）に関しては、正常にデータ判定が行われる。上述の通り、高速リードモード時に注意すべきは、消去セル（データ“１”）である。
【００８１】
第１センスアンプ回路３１は、第１リファレンス電流ＩＲＥＦ１を用いて格納データＤＳを読み出す。この時、図１１に示されるように、１つの消去セルを流れるセル電流Ｉｏｎ（安定状態）が、スピードマージンレベルＩＳを下回っており、第１リードデータＤＲ１は“１０００１０１０”となる。第１ＥＣＣ回路６１は、エラー訂正コードＥＣＣ１を用いることにより、１つの不良ビットを検出する。従って、第１不良ビット数信号ＳＥ１は“０１”である。また、第１ＥＣＣ回路６１は、エラー訂正コードＥＣＣ１を用いて第１リードデータＤＲ１のエラー訂正を行い、第１処理後データＤＥ１を生成する。その第１処理後データＤＥ１は、期待値と同じ“１０１０１０１０”である。
【００８２】
第２センスアンプ回路３２は、第１リファレンス電流ＩＲＥＦ１より大きい第２リファレンス電流ＩＲＥＦ２を用いて、格納データＤＳを読み出す。この時、２つの消去セルを流れるセル電流Ｉｏｎ（安定状態）が、スピードマージンレベルＩＳを下回っており、第２リードデータＤＲ２は“１０００００１０”となる。第２ＥＣＣ回路６２は、エラー訂正コードＥＣＣ２を用いることにより、２つの不良ビットを検出する。従って、第２不良ビット数信号ＳＥ２は“１０”である。この場合、第２リードデータＤＲ２のエラー訂正は不可能であり、第２処理後データＤＥ２は不定である。
【００８３】
セレクタ４０は、図１０で示された論理に従い、第１処理後データＤＥ１を出力データＤｏｕｔとして出力する。その結果、出力データＤｏｕｔとして期待値と同じ正確なデータが得られる。
【００８４】
（低速リードモード）
図１２は、低速リードモードにおける処理の一例を説明するための概念図である。格納データＤＳの状態は、図１１における状態と同じである。低速リードモード時、消去セル（データ“１”）に関しては、正常にデータ判定が行われる。上述の通り、低速リードモード時に注意すべきは、プログラムセル（データ“０”）である。
【００８５】
第１センスアンプ回路３１は、第１リファレンス電流ＩＲＥＦ１を用いて格納データＤＳを読み出す。この時、２つのプログラムセルを流れるセル電流Ｉｏｎ（最低温状態）が、ＤＣマージンレベルＩＤを超えており、温度状態によっては、第１リードデータＤＲ１は“１０１１１１１０”となる。第１ＥＣＣ回路６１は、エラー訂正コードＥＣＣ１を用いることにより、２つの不良ビットを検出する。従って、第１不良ビット数信号ＳＥ１は“１０”である。この場合、第１リードデータＤＲ１のエラー訂正は不可能であり、第１処理後データＤＥ１は不定である。
【００８６】
第２センスアンプ回路３２は、第１リファレンス電流ＩＲＥＦ１より大きい第２リファレンス電流ＩＲＥＦ２を用いて、格納データＤＳを読み出す。この時、１つのプログラムセルを流れるセル電流Ｉｏｎ（最低温状態）が、ＤＣマージンレベルＩＤを超えており、温度状態によっては、第２リードデータＤＲ２は“１０１１１０１０”となる。第２ＥＣＣ回路６２は、エラー訂正コードＥＣＣ２を用いることにより、１つの不良ビットを検出する。従って、第２不良ビット数信号ＳＥ２は“０１”である。また、第２ＥＣＣ回路６２は、エラー訂正コードＥＣＣ２を用いて第２リードデータＤＲ２のエラー訂正を行い、第２処理後データＤＥ２を生成する。その第２処理後データＤＥ２は、期待値と同じ“１０１０１０１０”である。
【００８７】
セレクタ４０は、図１０で示された論理に従い、第２処理後データＤＥ２を出力データＤｏｕｔとして出力する。その結果、出力データＤｏｕｔとして期待値と同じ正確なデータが得られる。
【００８８】
３−３．効果
以上に説明されたように、本実施の形態によれば、２種類のリファレンスレベルＲＥＦ１、ＲＥＦ２を用いることによって、同じ格納データＤＳから２種類のリードデータＤＲ１、ＤＲ２が生成される。更に、エラー訂正処理を通して、２種類の処理後データＤＥ１、ＤＥ２が生成される。そして、それら２種類の処理後データＤＥ１、ＤＥ２のうち良好な一方が、出力データＤｏｕｔとして自動的に選択される。具体的には、不良ビット数信号ＳＥ１、ＳＥ２に基づいて、不良ビット数の少ない方のリードデータに対応する処理後データが、出力データＤｏｕｔとして選択される。その結果、出力データＤｏｕｔの信頼性が向上する。出力データＤｏｕｔの信頼性が向上するため、半導体記憶装置１が搭載されるマイコンの動作不良が低減される。
【００８９】
本実施の形態によれば、ＥＣＣ回路６０によるエラー訂正処理がより有効に行われているとも言える。１種類のリファレンスレベルが用いられる場合、リードデータＤＲも１種類である。そのリードデータＤＲ中に２以上の不良ビットが存在すると、エラー訂正はもはや不可能である。その場合、マイコンは停止する。一方、本実施の形態によれば、複数種類のリファレンスレベル（ＲＥＦ１，ＲＥＦ２）を用いることによって、複数種類のリードデータ（ＤＲ１、ＤＲ２）が得られる。エラー訂正が行われる対象の数が増加するため、エラー訂正の成功率が高まり、マイコンの動作が停止する確率が減少する。
【００９０】
更に、本実施の形態によれば、高速リードモード・低速リードモードにかかわらず、最適なデータが出力データＤｏｕｔとして自動的に選択される。それは、セレクタ４０の動作が、モード信号ＭＯＤではなく、不良ビット数信号ＳＥ１，ＳＥ２に依存しているからである。セレクタ４０は、動作モードに関係なく、最も不良ビット数が少ない最適なデータを選択することができる。言い換えれば、本実施の形態に係る回路構成は、どのような動作モードにも対応することができ、あらゆる周波数の動作速度に対応することが可能である。その意味で、本実施の形態に係る半導体記憶装置１は汎用的であると言える。
【００９１】
また、本実施の形態によれば、半導体記憶装置１の外部からモード信号ＭＯＤを入力しなくてもよい。セレクタ４０の動作は、半導体記憶装置１の内部で生成される不良ビット数信号ＳＥ１，ＳＥ２によって自動的に制御される。
【００９２】
但し、第１の実施の形態と第３の実施の形態を組み合わせることも可能である。つまり、本実施の形態におけるセレクタ４０に、モード信号ＭＯＤが更に入力されてもよい。その場合、セレクタ４０は、不良ビット数信号ＳＥ１，ＳＥ２に加えて、モード信号ＭＯＤをも参照することができる。例えば、第１リードデータＤＲ１に３以上の不良ビットが存在し、第２リードデータＤＲ２に１つの不良ビットが存在する場合を考える。その場合、第２不良ビット数信号ＳＥ２は“０１”である一方、第１不良ビット数信号ＳＥ１は不定となる。ここで、不定の第１不良ビット数信号ＳＥ１が、たまたま同じ“０１”になってしまう可能性もある。この時、セレクタ４０は、第１処理後データＤＥ１ではなく、第２処理後データＤＥ２を選択することが好ましい。図１０に示された論理によれば、不良ビット数信号ＳＥ１とＳＥ２が同じ値を取った場合、第１処理後データＤＥ１が優先的に選択されるが、それが必ずしも好ましいとは限らない。不良ビット数信号ＳＥ１とＳＥ２が同じ値を取る場合は、追加情報を更に参酌することにより、出力データＤｏｕｔの信頼性がより向上する可能性がある。その追加情報がモード信号ＭＯＤである。セレクタ４０は、基本的には、不良ビット数信号ＳＥ１，ＳＥ２に基づいて出力データＤｏｕｔを決定する。しかし、不良ビット数信号ＳＥ１とＳＥ２が同じ場合は、更にモード信号ＭＯＤを参酌する。モード信号ＭＯＤが高速リードモードを示す場合、セレクタ４０は、第１処理後データＤＥ１を出力データＤｏｕｔとして選択する。一方、モード信号ＭＯＤが低速リードモードを示す場合、セレクタ４０は、第２処理後データＤＥ２を出力データＤｏｕｔとして選択する。これにより、不良ビット数信号ＳＥ１とＳＥ２との予期せぬ一致に起因する不具合が解消され得る。
【００９３】
４．第４の実施の形態
図１３は、第４の実施の形態に係る半導体記憶装置１の構成を概略的に示している。図１３において、第３の実施の形態における構成と同じ構成には同一の符号が付され、その説明は適宜省略される。
【００９４】
既出の第３の実施の形態において、センスアンプ回路３０は、第１センスアンプ回路３１と第２センスアンプ回路３２を別々に有し、２種類のデータ群「ＤＲ１、ＥＣＣ１」と「ＤＲ２、ＥＣＣ２」を、パラレルに出力していた。第４の実施の形態において、センスアンプ回路３０は、２種類のデータ群「ＤＲ１、ＥＣＣ１」と「ＤＲ２、ＥＣＣ２」を、シーケンシャルに出力する。具体的には、同じセンスアンプ回路３０が、第１リファレンスレベルＲＥＦ１と第２リファレンスレベルＲＥＦ２を順番に受け取る。そして、そのセンスアンプ回路３０は、第１リファレンスレベルＲＥＦ１と第２リファレンスレベルＲＥＦ２をそれぞれ用いて、データ群「ＤＲ１、ＥＣＣ１」とデータ群「ＤＲ２、ＥＣＣ２」を順番に生成する。
【００９５】
また、既出の第３の実施の形態において、ＥＣＣ回路６０は、第１ＥＣＣ回路６１と第２ＥＣＣ回路６２を別々に有し、エラー訂正処理をパラレルに実行していた。第４の実施の形態において、ＥＣＣ回路６０は、エラー訂正処理をシーケンシャルに実行する。具体的には、同じＥＣＣ回路６０が、データ群「ＤＲ１、ＥＣＣ１」とデータ群「ＤＲ２、ＥＣＣ２」を順番に受け取り、第１リードデータＤＲ１及び第２リードデータＤＲ２のエラー訂正処理を順番に行う。そして、ＥＣＣ回路６０は、データ群「ＤＥ１、ＳＥ１」と、データ群「ＤＥ２、ＳＥ２」を、シーケンシャルに出力する。
【００９６】
ＥＣＣ回路６０とセレクタ４０の間には、レジスタ回路７０が設けられている。レジスタ回路７０には、データ群「ＤＥ１、ＳＥ１」とデータ群「ＤＥ２、ＳＥ２」が順番に格納される。例えば、レジスタ回路７０は２段のシフトレジスタにより構成され、各段は、処理後データと不良ビット数信号の合計ビット数分のレジスタから構成される。
【００９７】
レジスタ回路７０に格納されたデータ群「ＤＥ１、ＳＥ１」とデータ群「ＤＥ２、ＳＥ２」は、所定のタイミングで、セレクタ４０に同時に出力される。セレクタ４０は、不良ビット数信号ＳＥ１、ＳＥ２に応じて、第１処理後データＤＥ１あるいは第２処理後データＤＥ２のいずれかを選択し、選択された一方を出力データＤｏｕｔとしてバスに出力する。
【００９８】
第４の実施の形態によれば、第３の実施の形態と同じ効果が得られる。更に、第１ＥＣＣ回路６１と第２ＥＣＣ回路６２を別々に設ける必要がないので、回路面積が全体として縮小される。また、第２の実施の形態と第４の実施の形態を組み合わせることも可能である。
【００９９】
５．リファレンスレベル生成回路
上述の第１リファレンスレベルＲＥＦ１及び第２リファレンスレベルＲＥＦ２は、リファレンスレベル生成回路８０によって生成される。図１４は、リファレンスレベル生成回路８０を含む半導体記憶装置１の構成を示している。図１４に示されるように、リファレンスレベル生成回路８０は、センスアンプ回路３０に接続されている。リファレンスレベル生成回路８０は、第１リファレンスレベルＲＥＦ１及び第２リファレンスレベルＲＥＦ２をセンスアンプ回路３０に出力する。リファレンスレベルとは、リファレンス電流あるいはリファレンス電位を意味する。
【０１００】
例えば、リファレンス電流を用いた電流センス方式によって、データのセンスが行われる場合を考える。この場合、リファレンスレベル生成回路８０は、第１リファレンス電流ＩＲＥＦ１及び第２リファレンス電流ＩＲＥＦ２を生成するように構成された定電流回路である。センスアンプ回路３０がパラレル処理を行う場合（第１，第３の実施の形態）、リファレンスレベル生成回路８０は、第１リファレンス電流ＩＲＥＦ１と第２リファレンス電流ＩＲＥＦ２を同時に出力する。センスアンプ回路３０がシーケンシャル処理を行う場合（第２，第４の実施の形態）、リファレンスレベル生成回路８０は、第１リファレンス電流ＩＲＥＦ１と第２リファレンス電流ＩＲＥＦ２を切り換えて順番に出力する。
【０１０１】
図１５は、電流センス方式のリファレンスレベル生成回路８０及びその周辺の一例を示している。より詳細には、図１５において、あるメモリセル１１、そのメモリセル１１に接続されるカレントミラー型のセンスアンプＳＡ、及びリファレンスレベル生成回路８０が示されている。
【０１０２】
本例において、リファレンスレベル生成回路８０は、メモリセルアレイ１０中のリファレンスセル１１ｒ−１、１１ｒ−２を含み、リファレンス電流ＩＲＥＦ１、ＩＲＥＦ２は、それらリファレンスセル１１ｒ−１、１１ｒ−２を用いることによってそれぞれ生成される。リファレンスセル１１ｒ−１、１１ｒ−２は、メモリセル１１と同じ構造を有している。あるいは、リファレンスセル１１ｒ−１、１１ｒ−２において、制御ゲートと浮遊ゲートが短絡されていてもよい。
【０１０３】
センスアンプＳＡは、ＮＭＯＳトランジスタＮ０、Ｎ１、Ｎ５、ＰＭＯＳトランジスタＰ０、Ｐ１、Ｐ５を有している。ＰＭＯＳトランジスタＰ０、Ｐ１のゲートは、共通のノードＡ０に接続されており、また、ＰＭＯＳトランジスタＰ０のゲートとドレインは互いに接続されている。つまり、ＰＭＯＳトランジスタＰ０、Ｐ１は、カレントミラー回路を構成している。同様に、ＰＭＯＳトランジスタＰ０、Ｐ５は、別のカレントミラー回路を構成している。
【０１０４】
ＰＭＯＳトランジスタＰ０のドレインは、ＮＭＯＳトランジスタＮ０のドレインに接続されている。ＮＭＯＳトランジスタＮ０のソースは、ビット線ＢＩＴを介してメモリセル１１に接続されており、そのゲートは、ＮＯＲ９３の出力に接続されている。このＮＯＲ９３は、ストップ信号ＳＴＯＰに応じてＮＭＯＳトランジスタＮ０をＯＦＦし、不必要な場合に電流が流れることを防止する役割を果たす。
【０１０５】
ＰＭＯＳトランジスタＰ１のドレインは、ノードＡ１を介して、ＮＭＯＳトランジスタＮ１のドレインに接続されている。ＮＭＯＳトランジスタＮ１のゲートは、ノードＡ３に接続されている。ノードＡ３は、ＮＭＯＳトランジスタＮ３のゲート及びドレインに接続されている。つまり、ＮＭＯＳトランジスタＮ１、Ｎ３は、カレントミラー回路を構成している。ＮＭＯＳトランジスタＮ３のドレインは、ＰＭＯＳトランジスタＰ３のドレインに接続されている。ＰＭＯＳトランジスタＰ３のゲートは、ノードＡ５に接続されている。ノードＡ５は、ＰＭＯＳトランジスタＰ２のゲート及びドレインに接続されている。つまり、ＰＭＯＳトランジスタＰ２、Ｐ３は、カレントミラー回路を構成している。
【０１０６】
ＰＭＯＳトランジスタＰ２のドレインは、ＮＭＯＳトランジスタＮ２のドレインに接続されている。ＮＭＯＳトランジスタＮ２のソースは、ノードＡ７に接続されており、そのゲートは、ＮＯＲ９２の出力に接続されている。このＮＯＲ９２は、ストップ信号ＳＴＯＰに応じてＮＭＯＳトランジスタＮ２をＯＦＦし、不必要な場合に電流が流れることを防止する役割を果たす。更に、ノードＡ７は、リファレンスセル１１ｒ−１に接続されている。
【０１０７】
同様に、ＰＭＯＳトランジスタＰ５のドレインは、ノードＡ２を介して、ＮＭＯＳトランジスタＮ５のドレインに接続されている。ＮＭＯＳトランジスタＮ５のゲートは、ノードＡ４に接続されている。ノードＡ４は、ＮＭＯＳトランジスタＮ７のゲート及びドレインに接続されている。つまり、ＮＭＯＳトランジスタＮ５、Ｎ７は、カレントミラー回路を構成している。ＮＭＯＳトランジスタＮ７のドレインは、ＰＭＯＳトランジスタＰ７のドレインに接続されている。ＰＭＯＳトランジスタＰ７のゲートは、ノードＡ６に接続されている。ノードＡ６は、ＰＭＯＳトランジスタＰ６のゲート及びドレインに接続されている。つまり、ＰＭＯＳトランジスタＰ６、Ｐ７は、カレントミラー回路を構成している。
【０１０８】
ＰＭＯＳトランジスタＰ６のドレインは、ＮＭＯＳトランジスタＮ６のドレインに接続されている。ＮＭＯＳトランジスタＮ６のソースは、ノードＡ８に接続されており、そのゲートは、ＮＯＲ９５の出力に接続されている。このＮＯＲ９５は、ストップ信号ＳＴＯＰに応じてＮＭＯＳトランジスタＮ６をＯＦＦし、不必要な場合に電流が流れることを防止する役割を果たす。更に、ノードＡ８は、リファレンスセル１１ｒ−２に接続されている。
【０１０９】
メモリセル１１のデータリード時、メモリセル１１であるメモリセルトランジスタの制御ゲートに、リード電圧ＶＲが印加される。その結果、メモリセル１１にセル電流Ｉｏｎが流れる。そのセル電流Ｉｏｎは、ＰＭＯＳトランジスタＰ０にも流れる。更に、カレントミラー回路によって、ＰＭＯＳトランジスタＰ１、Ｐ５に、セル電流Ｉｏｎと等しいミラー電流が流れる。
【０１１０】
同時に、リファレンスセル１１ｒ−１の制御ゲートに電圧ＶＲ１が印加される。リファレンスセル１１ｒ−１は、制御ゲートに電圧ＶＲ１が印加された時に第１リファレンス電流ＩＲＥＦ１が流れるような状態に設定されている。結果として、ＰＭＯＳトランジスタＰ２に第１リファレンス電流ＩＲＥＦ１が流れ、また、カレントミラー回路により、ＮＭＯＳトランジスタＮ１に、第１リファレンス電流ＩＲＥＦ１のミラー電流が流れる。
【０１１１】
また、リファレンスセル１１ｒ−２の制御ゲートに電圧ＶＲ２が印加される。リファレンスセル１１ｒ−２は、制御ゲートに電圧ＶＲ２が印加された時に第２リファレンス電流ＩＲＥＦ２が流れるような状態に設定されている。結果として、ＰＭＯＳトランジスタＰ６に第２リファレンス電流ＩＲＥＦ２が流れ、また、カレントミラー回路により、ＮＭＯＳトランジスタＮ５に、第２リファレンス電流ＩＲＥＦ２のミラー電流が流れる。
【０１１２】
このように、データリード時、リファレンスレベル生成回路８０から、第１リファレンス電流ＩＲＥＦ１及び第２リファレンス電流ＩＲＥＦ２が同時に供給される。電源からノードＡ１にはセル電流Ｉｏｎと等しい電流が流れ、ノードＡ１からグランドには第１リファレンス電流ＩＲＥＦ１と等しい電流が流れる。また、電源からノードＡ２にはセル電流Ｉｏｎと等しい電流が流れ、ノードＡ２からグランドには第２リファレンス電流ＩＲＥＦ２と等しい電流が流れる。
【０１１３】
メモリセル１１が消去セル（データ“１”）の場合、セル電流Ｉｏｎはリファレンス電流ＩＲＥＦ１、ＩＲＥＦ２より大きくなる。よって、ノードＡ１の電位は、電源電位ＶＤＤ近傍まで上昇する。ノードＡ１に接続されたバッファ９１を介して、センスアンプＳＡからデータ“１”が出力される。同様に、ノードＡ２の電位は、電源電位ＶＤＤ近傍まで上昇する。ノードＡ２に接続されたバッファ９４を介して、センスアンプＳＡからデータ“１”が出力される。尚、ここでは、保持抜けは考慮していない。
【０１１４】
一方、メモリセル１１がプログラムセル（データ“０”）の場合、セル電流Ｉｏｎはリファレンス電流ＩＲＥＦ１、ＩＲＥＦ２より小さくなる。よって、ノードＡ１の電位は、グランド電位ＧＮＤ近傍まで下降する。ノードＡ１に接続されたバッファ９１を介して、センスアンプＳＡからデータ“０”が出力される。同様に、ノードＡ２の電位は、グランド電位ＧＮＤ近傍まで下降する。ノードＡ２に接続されたバッファ９４を介して、センスアンプＳＡからデータ“０”が出力される。尚、ここでは、保持抜けは考慮していない。
【０１１５】
図１５に示された回路は、パラレル処理が行われる上述の第１の実施の形態及び第３の実施の形態に適用可能である。
【０１１６】
図１６は、シーケンシャル処理が行われる上述の第２の実施の形態及び第４の実施の形態に適用可能な回路の一例を示している。図１６において、図１５と同様の構成には同じ符号が付されている。
【０１１７】
図１６に示されるリファレンスレベル生成回路８０において、リファレンスセル１１ｒ−２は、ノードＡ７に接続されている。第１リファレンス電流ＩＲＥＦ１の供給時、リファレンスセル１１ｒ−１の制御ゲートには電圧ＶＲ１が印加される一方、リファレンスセル１１ｒ−２の制御ゲートには０Ｖの電圧が印加される。その結果、リファレンスレベル生成回路８０から、第１リファレンス電流ＩＲＥＦ１だけが供給される。一方、第２リファレンス電流ＩＲＥＦ２の供給時、リファレンスセル１１ｒ−２の制御ゲートには電圧ＶＲ２が印加され、リファレンスセル１１ｒ−１の制御ゲートには０Ｖの電圧が印加される。その結果、リファレンスレベル生成回路８０から、第２リファレンス電流ＩＲＥＦ２だけが供給される。電圧ＶＲ１とＶＲ２の印加を時間的に切り換えることによって、第１リファレンス電流ＩＲＥＦ１と第２リファレンス電流ＩＲＥＦ２を時間的に切り換えて発生させることが可能となる。
【０１１８】
６．まとめ
本発明によれば、２種類のリファレンスレベルＲＥＦ１、ＲＥＦ２を用いることによって、同じ格納データＤＳから２種類のリードデータＤＲ１、ＤＲ２が出力される。セレクタ４０は、それら２種類のリードデータＤＲ１、ＤＲ２のうち好適な一方を出力データＤｏｕｔとして選択する。その結果、出力データＤｏｕｔの信頼性が向上する。
【０１１９】
尚、本発明は、ＥＥＰＲＯＭに限られずＤＲＡＭ等にも適用可能である。また、２種類以上のリファレンスレベルが設定されてもよい。更に、メモリセル１１に格納されるデータは、多値データであってもよい。
【図面の簡単な説明】
【０１２０】
【図１】図１は、本発明の第１の実施の形態に係る半導体記憶装置の構成を概略的に示すブロック図である。
【図２】図２は、ＥＥＰＲＯＭにおけるメモリセルの閾値電圧分布を示すグラフである。
【図３】図３は、ＥＥＰＲＯＭにおけるデータ読み出しを説明するための概念図である。
【図４】図４は、スピードマージンを説明するためのグラフである。
【図５】図５は、ＤＣマージンを説明するためのグラフである。
【図６】図６は、高速リードモードを説明するための概念図である。
【図７】図７は、低速リードモードを説明するための概念図である。
【図８】図８は、本発明の第２の実施の形態に係る半導体記憶装置の構成を概略的に示すブロック図である。
【図９】図９は、本発明の第３の実施の形態に係る半導体記憶装置の構成を概略的に示すブロック図である。
【図１０】図１０は、第３の実施の形態におけるセレクタの論理を示すテーブルである。
【図１１】図１１は、高速リードモードにおける動作の一例を説明するための概念図である。
【図１２】図１２は、低速リードモードにおける動作の一例を説明するための概念図である。
【図１３】図１３は、本発明の第４の実施の形態に係る半導体記憶装置の構成を概略的に示すブロック図である。
【図１４】図１４は、本発明の実施の形態に係る半導体記憶装置の構成を示すブロック図である。
【図１５】図１５は、本発明の実施の形態に係るリファレンスレベル生成回路とセンスアンプの構成の一例を示す回路図である。
【図１６】図１６は、本発明の実施の形態に係るリファレンスレベル生成回路とセンスアンプの構成の他の例を示す回路図である。
【符号の説明】
【０１２１】
１    半導体記憶装置
１０    メモリセルアレイ
１１    メモリセル
１１ｒ  リファレンスセル
１２    データ領域
１３    ＥＣＣ領域
２０    データ読み出し回路
３０    センスアンプ回路
３１    第１センスアンプ回路
３２    第２センスアンプ回路
４０    セレクタ
５０    レジスタ回路
６０    ＥＣＣ回路
６１    第１ＥＣＣ回路
６２    第２ＥＣＣ回路
７０    レジスタ回路
８０    リファレンスレベル生成回路
ＤＳ    格納データ
ＤＲ１  第１リードデータ
ＤＲ２  第２リードデータ
ＤＥ１  第１処理後データ
ＤＥ２  第２処理後データ
Ｄｏｕｔ  出力データ
ＥＣＣ  エラー訂正コード
ＥＲＲ  エラー信号
Ｉｏｎ  セル電流
ＩＤ    ＤＣマージンレベル
ＩＥ    消去レベル
ＩＰ    プログラムレベル
ＩＳ    スピードマージンレベル
ＭＯＤ    モード信号
ＭＤ      ＤＣマージン
ＭＳ      スピードマージン
ＲＥＦ１，ＩＲＥＦ１  第１リファレンスレベル
ＲＥＦ２，ＩＲＥＦ２  第２リファレンスレベル
ＳＥ１    第１不良ビット数信号
ＳＥ２    第２不良ビット数信号
【図１】
2008052798.tif 000003
【図２】
2008052798.tif 000004
【図３】
2008052798.tif 000005
【図４】
2008052798.tif 000006
【図５】
2008052798.tif 000007
【図６】
2008052798.tif 000008
【図７】
2008052798.tif 000009
【図８】
2008052798.tif 000010
【図９】
2008052798.tif 000011
【図１０】
2008052798.tif 000012
【図１１】
2008052798.tif 000013
【図１２】
2008052798.tif 000014
【図１３】
2008052798.tif 000015
【図１４】
2008052798.tif 000016
【図１５】
2008052798.tif 000017
【図１６】
2008052798.tif 000018