IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ウィンボンド エレクトロニクス コーポレーションの特許一覧

<>
  • 特許-半導体記憶装置および読出し方法 図1
  • 特許-半導体記憶装置および読出し方法 図2A
  • 特許-半導体記憶装置および読出し方法 図2B
  • 特許-半導体記憶装置および読出し方法 図3
  • 特許-半導体記憶装置および読出し方法 図4
  • 特許-半導体記憶装置および読出し方法 図5
  • 特許-半導体記憶装置および読出し方法 図6
  • 特許-半導体記憶装置および読出し方法 図7
  • 特許-半導体記憶装置および読出し方法 図8
  • 特許-半導体記憶装置および読出し方法 図9
  • 特許-半導体記憶装置および読出し方法 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-02-01
(45)【発行日】2022-02-09
(54)【発明の名称】半導体記憶装置および読出し方法
(51)【国際特許分類】
   G06F 11/10 20060101AFI20220202BHJP
   G11C 16/04 20060101ALI20220202BHJP
   G11C 16/26 20060101ALI20220202BHJP
【FI】
G06F11/10 668
G11C16/04 170
G11C16/26 110
【請求項の数】 12
(21)【出願番号】P 2020066573
(22)【出願日】2020-04-02
(65)【公開番号】P2021163352
(43)【公開日】2021-10-11
【審査請求日】2020-04-02
(73)【特許権者】
【識別番号】511062254
【氏名又は名称】ウィンボンド エレクトロニクス コーポレーション
(74)【代理人】
【識別番号】100098497
【弁理士】
【氏名又は名称】片寄 恭三
(72)【発明者】
【氏名】妹尾 真言
【審査官】漆原 孝治
(56)【参考文献】
【文献】特開2014-033364(JP,A)
【文献】特開2016-035795(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/10
G11C 16/04
G11C 16/26
(57)【特許請求の範囲】
【請求項1】
NAND型のメモリセルアレイと、
前記メモリセルアレイの選択ページを読み出す読出し手段と、
外部クロック信号を受け取る外部端子と、
前記読出し手段により前記メモリセルアレイの選択ページから読み出されたデータを保持するページバッファ/センス回路と、
ページバッファ/センス回路に保持されたデータを受け取り、当該データのエラー位置を検出し、検出したエラーが存在するカラム位置とビット位置を識別することができるラー位置情報を保持するレジスタを含むエラー検出手段と、
列アドレスに基づき前記ページバッファ/センス回路に保持されたページデータの中からnビットのデータを選択し、選択したnビットのデータをデータバスに出力する出力手段と、
前記読出し手段が前記外部クロック信号に同期して選択ページのデータの連続読出しを行うとき、前記レジスタに保持された前記エラー位置情報のカラム位置と前記列アドレスとが一致する場合には、前記エラー位置情報のビット位置に基づき前記データバス上に出力されたnビットのエラービット位置に対応するビットのデータを訂正する訂正手段と、
を有する半導体記憶装置。
【請求項2】
前記訂正手段は、前記エラーの位置情報に基づき前記データバス上のエラービット位置に対応するビットのデータを反転する、請求項1に記載の半導体記憶装置。
【請求項3】
前記読出し手段は、連続読出しまたはページ読出しを識別し、連続読出しが識別された場合には前記訂正手段をイネーブルし、ページ読出しが識別された場合には前記訂正手段をディスエーブルし、
前記エラー検出手段は、前記訂正手段がディスエーブルされた場合には、前記エラー位置情報に基づき訂正されたデータを前記ページバッファ/センス回路に書き戻す、請求項1に記載の半導体記憶装置。
【請求項4】
前記エラー検出手段は、複数ビットのエラーの位置を検出する、請求項1に記載の半導体記憶装置。
【請求項5】
前記ページバッファ/センス回路は、前記メモリセルアレイから読み出されたページデータを保持する第1の保持手段と、第1の保持手段で保持されたページデータを受け取る第2の保持手段とを有し、第1および第2の保持手段の各々は、独立にデータ転送可能な第1の部分と第2の部分とを含み、第1の部分および第2の部分は、1/2ページのデータを保持可能であり、
ページの連続読出しが行われるとき、前記第2の保持手段の第1の部分のデータが外部に出力される間に前記第2の保持手段の第2の部分のデータのエラー検出および訂正が行われ、前記第2の保持手段の第2の部分のデータが外部に出力される間に前記第2の保持手段の第1の部分のデータのエラー検出および訂正が行われる、請求項に記載の半導体記憶装置。
【請求項6】
ページの連続読出しは、tPRE+tDIS+tECC<tDOUTの条件を満足する(tPREは、ビット線のプリチャージ時間、tDISは、メモリセルの放電時間、tECCは、1/2ページのエラー検出および訂正の時間、tDOUTは、1ページのデータ出力時間)、請求項に記載の半導体記憶装置。
【請求項7】
前記出力手段は、ページバッファ/センス回路から選択されたnビットのデータをn個の差動センスアンプに提供し、前記訂正手段は、前記差動センスアンプから出力されるデータを反転する、請求項1に記載の半導体記憶装置。
【請求項8】
NAND型フラッシュメモリの読出し方法であって、
読出し動作時に、ページバッファ/センス回路に保持されたデータを受け取り、当該データのエラー位置を検出するステップと、
検出したエラーが存在するカラム位置とビット位置を識別することができるエラー位置情報を保持するステップと、
列アドレスに基づき前記ページバッファ/センス回路に保持されたページデータの中からnビットのデータを選択し、選択したnビットのデータをデータバスに出力するステップと、
外部端子に供給された外部クロック信号に同期してメモリセルアレイの選択ページの連続読出しが行われるとき、前記エラー位置情報のカラム位置と前記列アドレスとが一致する場合には、前記エラー位置情報のビット位置に基づき前記データバス上に出力されたnビットのエラービット位置に対応するビットのデータを訂正するステップと、
訂正されたデータを外部に出力するステップと、
を含む読出し方法。
【請求項9】
読出し方法はさらに、連続読出しまたはページ読出しを識別するステップと、
連続読出しが識別された場合には前記訂正するステップをイネーブルし、ページ読出しが識別された場合には前記訂正するステップをディスエーブルし、前記訂正するステップがディスエーブルされた場合には、前記エラー位置情報に基づき訂正されたデータを前記ページバッファ/センス回路に書き戻すステップと、
を含む請求項8に記載の読出し方法。
【請求項10】
前記エラー位置は、複数のエラー位置である、請求項に記載の読出し方法。
【請求項11】
前記ページバッファ/センス回路は、前記メモリセルアレイから読み出されたページデータを保持する第1の保持手段と、第1の保持手段で保持されたページデータを受け取る第2の保持手段とを有し、第1および第2の保持手段の各々は、独立にデータ転送可能な第1の部分と第2の部分とを含み、第1の部分および第2の部分は、1/2ページのデータを保持可能であり、
ページの連続読出しが行われるとき、前記第2の保持手段の第1の部分のデータが外部に出力される間に前記第2の保持手段の第2の部分のデータのエラー検出および訂正が行われ、前記第2の保持手段の第2の部分のデータが外部に出力される間に前記第2の保持手段の第1の部分のデータのエラー検出および訂正が行われる、請求項8に記載の読出し方法。
【請求項12】
ページの連続読出しは、tPRE+tDIS+tECC<tDOUTの条件を満足する(tPREは、ビット線のプリチャージ時間、tDISは、メモリセルの放電時間、tECCは、1/2ページのエラー検出および訂正の時間、tDOUTは、1ページのデータ出力時間)、請求項11に記載の読出し方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、NAND型フラッシュメモリ等の半導体記憶装置に関し、特に、読出し時のエラー検出・訂正に関する。
【背景技術】
【0002】
外部クロック信号に同期してデータを入出力するシリアルペリフェラルインターフェース(SPI)を搭載したNAND型のフラッシュメモリでは、ページを連続的に読み出す機能を備えるものがある。ページの連続読出しでは、メモリセルアレイの選択ページから読出したデータをページバッファ/センス回路の一方のラッチに保持する間に、他方のラッチ回路に保持された前ページの読出しデータの出力を可能にしている(例えば、特許文献1、2、3等)。
【先行技術文献】
【特許文献】
【0003】
【文献】特許5323170号公報
【文献】特許5667143号公報
【文献】米国特許出願US2014/0104947A1
【発明の概要】
【発明が解決しようとする課題】
【0004】
NAND型フラッシュメモリでは、データのプログラムや消去が繰り返されることで、トンネル絶縁膜の劣化等により電荷保持特性が悪化したり、トンネル絶縁膜にトラップされた電荷によりしきい値変動が生じ、ビットエラーを引き起こす。このようなビットエラー対策として、エラー検出訂正回路(ECC回路)が搭載されている。
【0005】
図1に、従来のオンチップECC機能を搭載したNAND型フラッシュメモリの概略構成を示す。フラッシュメモリ10は、メモリセルアレイ20と、ページバッファ/センス回路30と、エラー検出訂正回路(以下、ECC回路)40と、入出力回路50とを含む。ECC回路40は、転送回路42、ECCコア44、エラーレジスタ46および書込み回路48を含む。
【0006】
読出し動作では、メモリセルアレイ20の選択ページから読み出されたデータがページバッファ/センス回路30に保持され、ページバッファ/センス回路30に保持されたバイト単位のデータが転送回路42を介してECCコア44へ転送される。ECCコア44は、転送されたデータのECC演算を行い、その演算から得られたエラー情報がエラーレジスタ46に保持される。書込み回路48は、エラーレジスタ46に保持されたエラー情報に基づき、訂正されたデータをページバッファ/センス回路30に書き戻す。こうして、1ページのECC処理の終了後、ページバッファ/センス回路30に保持されたデータが列アドレスに従いデータバス60に読み出され、読み出されたデータが外部入出力回路50に提供される。入出力回路50は、図示しない入出力端子から読出しデータを出力する。
【0007】
図2A図2Bに、ページの連続読出しを行うときのタイミングチャートを示す。ページバッファ/センス回路30は、2つのラッチL1、L2(1つのラッチは、例えば2KBのページデータを保持)を含み、ラッチL1、L2は、それぞれ第1のキャッシュC0と第2のキャッシュC1(1つのキャッシュは、例えば1KB)とを含む。ラッチL1の第1のキャッシュC0および第2のキャッシュC1で保持されたデータは、ラッチL2の第1のキャッシュC0および第2のキャッシュC1にそれぞれ独立して転送される。
【0008】
最初に、ページ0のアレイ読出しが行われ、ページ0のデータがラッチL1の第1および第2のキャッシュC0、C1に保持される(P0C0、P0C1)。次に、ラッチL1の第1および第2のキャッシュC0、C1のデータがラッチL2の第1および第2のキャッシュC0、C1に転送され、第1および第2のキャッシュC0、C1のデータがECCコア42によりECC処理される。誤りが検出された場合には、書込み回路48は、エラーレジスタ46に保持されたエラー情報に従い訂正されたデータをラッチL2の第1、第2のキャッシュC0、C1に書込む。
【0009】
連続読出しでは、行アドレスカウンタが自動的にインクリメントされ、次のページ1の読出しが行われ、読み出されたデータがラッチL1の第1および第2のキャッシュC0、C1に転送される。この間、ラッチL2の第1のキャッシュC0のデータが入出力回路50へ転送され、入出力回路50に保持されたデータは、外部から供給される外部クロック信号ExCLKに同期して出力される。次に、ラッチL2の第2のキャッシュC1のデータが入出力回路50から外部クロック信号ExCLKに同期して出力され、この間、ラッチL1の第1のキャッシュC0のデータがラッチL2に転送され、かつECC回路40によりECC処理が行われる。
【0010】
ラッチL1の第2のキャッシュC1のデータがラッチL2に転送され、ラッチL2の第1のキャッシュC0のデータが入出力回路50から出力される間に、第2のラッチL2の第2のキャッシュC1のデータがECC処理され、次いで、ラッチL2の第2のキャッシュC1のデータが入出力回路50から出力される間に、次のページ2がアレイから読み出され、ラッチL1の第1および第2のキャッシュC0、C1に転送され、かつ第1のキャッシュC0のデータがラッチL2に転送され、ECC処理される。
【0011】
こうして、ラッチL2からデータを出力しながらメモリセルアレイのページの連続読出しが行われ、その間、第1のキャッシュC0のデータを出力する間に第2のキャッシュC1のECC処理が行われ、第2のキャッシュC1のデータを出力する間に第1のキャッシュC0のECC処理が行われる。
【0012】
メモリセルアレイの読出しは、決められたタイミングにより内部クロック信号に同期して行われ、他方、読出しデータの出力は、内部クロック信号と非同期の外部クロック信号ExCLKに同期して行われる。それ故、ページの連続読出し動作には、以下の数式(1)で示される制約がある。
tPRE+tDIS+tECC<tDOUT・・・(1)
tPRE:ビット線のプリチャージ時間、
tDIS:メモリセルの放電時間
tECC;1/2ページのECC処理時間
tDOUT:1ページのデータ出力時間である。
【0013】
tPREとtDISは一定であり、高速読出しのために外部クロック信号ExCLKの周波数を高くすると、tDOUTが小さくなり、それに応じてtECCを小さくしなければならない。例えば、2KBのページデータを読み出すとき、tPRE+tDISは、約16.2μsである。外部クロック信号ExCLKの周波数が166MHzであり、×4の外部端子から1ページのデータを出力する場合、tDOUTは、約24.6μsである。
数式(1)より、ECC処理時間は、数式(2)の制約を有する。
tECC<8.4μs・・・(2)
【0014】
ECC回路が1ビットのエラー検出・訂正を行う場合にはハミングコードを用いることができ、この処理時間は比較的短いため、外部クロック信号ExCLKの周波数には余裕がある。他方、複数ビットのエラー検出・訂正を行う場合には、BCHコードを必要とし、BCHコードの処理には、ハミングコードの処理よりも長い時間を必要とする。この場合、数式(2)のECC処理時間(tECC)がボトルネックになり得る。
【0015】
図3は、従来のBCHコードをデコードするときのフローを例示する。一例として、1ページ(2KB)は、2つのキャッシュC0、C1から構成され、1つのキャッシュは、2つのセクターから構成される。ECCは、セクター単位(例えば、512バイト)で行われ、1つのキャッシュは、2回のECC処理を必要とし、BCHコードにより1キャッシュ当たり4ビットのエラー検出・訂正を可能にする。また、ECC処理は、ECCクロック信号に同期して行われ、そのクロック周波数を50MHzとする。
【0016】
ステップ1:第1および第2のセクターから読み取ったデータのシンドロームを評価する。このステップは、転送回路42を介してページバッファ/センス回路30をアクセスし、そこからデータを読み出す処理を含み、セクター当たり140のクロックサイクルを要する。
ステップ2:第1のセクターのシンドロームの評価後、第1のセクターのエラー位置多項式(ELP)を計算し、第2のセクターのシンドロームの評価後に第2のセクターの第2のエラー位置多項式(ELP)を計算する。この計算には、それぞれ81クロックサイクルを要する。
ステップ3:第1のセクターのELPの根を計算し、そのエラー位置を決定し、第2のセクターのELPの根を計算し、そのエラー位置を決定する。これらの計算には、それぞれ135クロックサイクルを要する。
ステップ4:エラー位置に基づき、ページバッファ/センス回路に訂正されたデータを書き戻す。この処理に20クロックサイクルを要する。
第1および第2のセクターのステップ1ないしステップ4の処理は、同一のステップが重複しなければ並列に行うことができる。1つのキャッシュのECC処理には、516クロックサイクルを必要とし、時間に換算すると、tECC=10.32μsである。
【0017】
ハミングコードを用いる場合には、BCHコードのときのステップ2、3は不要であり、全体として288のクロックサイクル(ECC=5.8μs)を必要とする。従って、ハミングコードであれば、数式(2)に示すtECC<8.4μsの制約を満足することができる。しかしながら、BCHコードの場合には、tECC(=10.32)>8.4μsとなり、tECC<8.4μsの制約を満足することができない。つまり、tECC=10.32μsのときの外部クロック信号ExCLKの最大周波数は、154.4MHzであり、166MHzの外部クロック信号ExCLKを用いた高速読出しを行うことはできない。図2Bに示すハッチングで示す矩形領域は、tECC=10.32μsが制約を満足していない状態を示している。
【0018】
このように、従来のフラッシュメモリにおいて連続読出しを行うとき、ECC処理時間が長いと、外部クロック信号ExCLKの周波数に制約が生じ、高速読出しを行うことができないという課題がある。
【0019】
本発明は、このような従来の課題を解決し、読出し動作時のECCの処理時間の短縮を図ることができる半導体記憶装置および読出し方法を提供することを目的とする。
【課題を解決するための手段】
【0020】
本発明に係る半導体記憶装置は、NAND型のメモリセルアレイと、前記メモリセルアレイの選択ページから読み出されたデータを保持するページバッファ/センス回路と、ページバッファ/センス回路に保持されたデータを受け取り、当該データのエラー位置を検出し、検出したエラー位置に関するエラー位置情報を保持するエラー検出手段と、列アドレスに基づき前記ページバッファ/センス回路からデータを選択し、選択したデータをデータバスに出力する出力手段と、前記エラー位置情報に基づき前記データバス上のデータを訂正する訂正手段とを有する。
【0021】
ある実施態様では、前記訂正手段は、前記エラーの位置情報に基づきデータバス上のデータを反転する。ある実施態様では、前記訂正手段は、前記エラーの位置情報と前記列アドレスとを比較し、比較結果に基づきエラービット位置に対応する前記データバス上のデータを訂正する。ある実施態様では、前記エラー検出手段は、複数ビットのエラーの位置を検出する。ある実施態様では、前記訂正手段は、ページの連続読出しが行われるときに実施される。ある実施態様では、前記ページバッファ/センス回路は、前記メモリセルアレイから読み出されたページデータを保持する第1の保持手段と、第1の保持手段で保持されたページデータを受け取る第2の保持手段とを有し、第1および第2の保持手段の各々は、独立にデータ転送可能な第1の部分と第2の部分とを含み、第1の部分および第2の部分は、1/2ページのデータを保持可能であり、ページの連続読出しが行われるとき、前記第2の保持手段の第1の部分のデータが外部に出力される間に前記第2の保持手段の第2の部分のデータのエラー検出および訂正が行われ、前記第2の保持手段の第2の部分のデータが外部に出力される間に前記第2の保持手段の第1の部分のデータのエラー検出および訂正が行われる。ある実施態様では、ページの連続読出しが行われるとき、外部から入力されたクロック信号に同期してデータが外部に出力される。ある実施態様では、ページの連続読出しは、tPRE+tDIS+tECC<tDOUTの条件を満足する(tPREは、ビット線のプリチャージ時間、tDISは、メモリセルの放電時間、tECCは、1/2ページのエラー検出および訂正の時間、tDOUTは、1ページのデータ出力時間)。ある実施態様では、前記出力手段は、ページバッファ/センス回路から選択されたnビットのデータをn個の差動センスアンプに提供し、前記訂正手段は、前記差動センスアンプから出力されるデータを反転する。
【0022】
本発明に係るNAND型フラッシュメモリの読出し方法は、読出し動作時に、ページバッファ/センス回路に保持されたデータを受け取り、当該データのエラー位置を検出するステップと、検出したエラー位置に関するエラー位置情報を保持するステップと、列アドレスに基づき前記ページバッファ/センス回路からデータを選択し、選択したデータをデータバスに出力するステップと、前記エラー位置情報に基づき前記データバス上のデータを訂正するステップと、訂正されたデータを外部に出力するステップとを含む。
【0023】
ある実施態様では、前記訂正するステップは、前記エラー位置情報と前記列アドレスとを比較し、比較結果に基づきエラービット位置に対応する前記データバス上のデータを反転する。ある実施態様では、前記読出し動作は、ページの連続読出しである。ある実施態様では、前記エラー位置は、複数のエラー位置である。
【発明の効果】
【0024】
本発明によれば、ページバッファ/センス回路から出力されたデータバス上のデータをエラー位置情報に基づき訂正するようにしたので、従来と比較してエラー検出・訂正に要する時間を短縮させ、これにより読出し時間を短縮することができる。また、ページの連続読出しを行う場合には、従来と比較して読出し速度を向上させることができる。
【図面の簡単な説明】
【0025】
図1】従来のオンチップECCを搭載するNAND型フラッシュメモリの概略構成を示す図である。
図2A】従来のNAND型フラッシュメモリにおいて連続読出しを行うときのタイミングチャートである。
図2B】従来のNAND型フラッシュメモリにおいて連続読出しを行うときのタイミングチャートである。
図3】従来のECC回路のBCHのデコードのフローを例示する図である。
図4】本発明の実施例に係るNAND型フラッシュメモリの構成を示すブロック図である。
図5】本発明の第1の実施例に係るECC回路の概略構成を示す図である。
図6】本発明の第1の実施例に係るECC回路のエラー訂正部の詳細を説明する図である。
図7】本発明の第1の実施例に係るECC回路のBCHのデコードのフローを例示する図である。
図8】本発明の第1の実施例による連続読出しを行うときのタイミングチャートである。
図9】本発明の第2の実施例に係るエラー検出・訂正方法を説明する図である。
図10】本発明の第2の実施例によるエラー検出・訂正方法の動作フローである。
【発明を実施するための形態】
【0026】
次に、本発明の実施の形態について図面を参照して詳細に説明する。本発明に係る半導体記憶装置は、例えば、NAND型フラッシュメモリ、あるいはこのようなフラッシュメモリを埋め込むマイクロプロセッサ、マイクロコントローラ、ロジック、ASIC、画像や音声を処理するプロセッサ、無線信号等の信号を処理するプロセッサなどである。
【実施例
【0027】
図4は、本発明の実施例に係るNAND型フラッシュメモリの構成を示す図である。本実施例に係るフラッシュメモリ100は、複数のメモリセルが行列状に配列されたメモリアレイ110と、SPIに対応したデータの入出力が可能な入出力回路120と、プログラムすべきデータや読み出されたデータのエラー検出・訂正を行うECC回路130と、入出力回路120を介してアドレスデータを受け取るアドレスレジスタ140と、入出力回路120を介して受け取ったコマンドデータや制御端子に印加された制御信号に基づき各部を制御するコントローラ150と、アドレスレジスタ140から行アドレス情報Axを受け取り、行アドレス情報Axのデコード結果に基づきブロックの選択やワード線の選択等を行うワード線選択回路160と、ワード線選択回路160によって選択されたページから読み出されたデータを保持したり、選択されたページへプログラムするデータを保持するページバッファ/センス回路170と、アドレスレジスタ140から列アドレス情報Ayのデコード結果に基づきページバッファ/センス回路170内の列の選択等を行う列選択回路180と、データの読出し、プログラムおよび消去等のために必要な種々の電圧(書込み電圧Vpgm、パス電圧Vpass、読出しパス電圧Vread、消去電圧Versなど)を生成する内部電圧生成回路190とを含んで構成される。
【0028】
メモリセルアレイ110は、m個の複数のブロックBLK(0)、BLK(1)、・・・、BLK(m-1)を含む。1つのブロックには、複数のNANDストリングが形成される。メモリセルアレイ110は、基板表面に2次元的に形成されるものであってもよいし、基板表面から垂直方向に3次元的に形成されるものであってもよい。また、メモリセルは、1ビット(2値データ)を記憶するSLCタイプでもよいし、多ビットを記憶するMLCタイプであってもよい。
【0029】
ECC回路130は、コマンドまたは出荷時の設定等により動作または非動作にすることが可能である。ECC回路130は、メモリセルアレイ110から読出したデータのエラー検出・訂正を行い、あるいはメモリセルアレイ110にプログラムすべきデータの符号生成を行う。ECC回路130は、シングルビットのエラー検出・訂正を行うものであってもよいし、マルチビットのエラー検出・訂正を行うものであってもよい。ECC回路130の詳細は後述する。
【0030】
コントローラ150は、ステートマシンあるいはマイクロコントローラを含み、フラッシュメモリの各動作を制御する。読出し動作では、ビット線に或る正の電圧を印加し、選択ワード線に或る電圧(例えば0V)を印加し、非選択ワード線にパス電圧を印加し、ビット線側選択トランジスタおよびソース線側選択トランジスタをオンし、ソース線に0Vを印加する。プログラム動作では、選択ワード線に高電圧のプログラム電圧Vpgmを印加し、非選択のワード線に中間電位を印加し、ビット線側選択トランジスタをオンさせ、ソース線側選択トランジスタをオフさせ、「0」または「1」のデータに応じた電位をビット線に供給する。消去動作では、ブロック内の全ての選択ワード線に0Vを印加し、Pウエルに高電圧の消去電圧を印加し、フローティングゲートの電子を基板に引き抜き、ブロック単位でデータを消去する。
【0031】
ページバッファ/センス回路170は、図2に示したように2つのラッチL1、L2を含み、ラッチL1、L2は、それぞれが独立して動作可能な第1のキャッシュC0と第2のキャッシュC1とを含んで構成される。ラッチL1とラッチL2との間には、双方向のデータ転送を可能にする転送ゲートが接続され、転送ゲートをオンすることでラッチL1からラッチL2、あるいはラッチL2からラッチL1にデータが転送される。
【0032】
メモリセルアレイの選択ページから読み出されたデータは、センスノードで感知され、感知されたデータがラッチL1に転送され、そこで保持される。ページの連続読出しを行うとき、メモリセルアレイの読出しおよびラッチL1とラッチL2との間のデータ転送は、内部クロック信号に同期して行われ、ラッチL2と入出力回路120との間のデータ転送、入出力回路120からのデータ出力は、外部から供給される外部クロック信号ExCLKに同期して行われ、ラッチL2とECC回路130との間のデータ転送およびECC回路の動作は、別の内部クロック信号もしくは外部から供給される外部クロック信号ExCLKを分周したクロックに同期して行われる。
【0033】
列選択回路180は、列アドレスAyに基づきページ内のデータの読出し開始位置を選択したり、あるいは列アドレスを用いることなくページの先頭位置からデータを自動的に読み出す。さらに列選択回路180は、クロック信号に応答して列アドレスをインクリメントする列アドレスカウンタを含むようにしてもよい。
【0034】
図5に、本実施例のECC回路130の構成を示す。ECC回路130は、ページバッファ/センス回路170に保持されたデータを読み出すための転送回路132、転送回路132で読み出されたデータを処理し、エラーを検出するECCコア134、ECCコア134により検出されたエラーのエラー位置情報を保持するエラーレジスタ136、エラーレジスタ136に保持されたエラー位置情報に基づきデータバス200上に出力されたデータを訂正するエラー訂正部138を含む。エラーレジスタ136が保持するエラー位置情報は、エラーが存在するカラム位置とビット位置を識別することができる情報である。
【0035】
本実施例のECC回路130は、従来のようにページバッファ/センス回路をアクセスし、書込み回路により訂正されたデータをページバッファ/センス回路170に書き込むことで訂正を行うのではなく、ページバッファ/センス回路をアクセスすることなくページバッファ/センス回路170からデータバス200に出力されたデータを反転することにより訂正を行う。
【0036】
図6に、エラー訂正部138の構成例を示す。エラー訂正部138は、列アドレスAyとエラーレジスタ136が保持するエラー位置情報とを比較するアドレス比較部138Aと、アドレス比較部138Aから出力される反転制御信号に基づきデータバス200上のデータを反転する機能を備えた反転回路138Bとを備える。
【0037】
ページバッファ/センス回路170に保持されたデータを出力するとき、ページバッファ170に保持されたページデータの中からnビットのデータが列アドレスAyをデコードした列選択信号YSにより選択される。列選択信号YSは、列選択回路180の列デコーダ182により生成される。ページバッファ/センス回路170から選択されたnビットのデータは、差動データとしてn個の差動センスアンプ184のビット線対BT/BBに入力され、差動センスアンプ184は、ビット線対BT/BBの差動データを感知(センス)する。差動センスアンプ184により感知されたnビットのデータは、反転回路138Bの対応するn個のExOR回路の一方にそれぞれ入力される。ExORの他方の入力には、アドレス比較部138Aからの反転制御信号がそれぞれ入力される。
【0038】
アドレス比較部138Aは、エラーレジスタ136のエラー位置情報と、ページバッファ/センス回路170からデータを出力させるときの列アドレスAyとを比較し、両アドレスが一致する場合には、エラーレジスタ136のエラービット位置に対応するビット(ExOR)には、Hレベルの反転制御信号を出力し、エラービット位置に対応しないビット(ExOR)には、Lレベルの反転制御信号を出力する。また、両アドレスが一致しない場合には、全てのビット(ExOR)について、Lレベルの反転制御信号を出力する。こうして、ページバッファ/センス回路170から読み出されたデータは、エラーがある場合には、反転回路138Bで反転されることでエラーの訂正が行われ、読み出されたデータにエラーがない場合には、反転回路138Bで反転されることなくそのまま出力される。
【0039】
反転回路138BのExORから出力されるnビットのデータは、入出力回路120に供給される。入出力回路120は、複数のフリップフロップが接続されたパラレル/シリアル変換回路を含み、パラレル/シリアル変換回路は、入力されたnビットのデータをm
個の直列データに変換し、変換された直列データは、ドライバ122を介してmビットの入出力端子I/Oから外部に出力される。
【0040】
ページの連続読出しでは、クロック端子に外部クロック信号ExCLKが供給され、外部クロック信号ExCLKは、図示しないタイミング制御回路に供給される。タイミング制御回路は、外部クロック信号ExCLKに同期する内部クロック信号を生成し、この内部クロック信号は、入出力回路120や差動センスアンプ184等に供給される。
【0041】
列デコーダ182により1度に選択されるビット数nは、データバス200のビット幅、すなわちビット線対BT/BBの数に等しい。I/Oの端子数は任意であるが、I/Oの端子数がmビットのとき、m≦nであり、かつ、nは、mのk倍の関係にある(m、kは、それぞれ1以上の整数)。
【0042】
図7に、本実施例のECC回路130のBCHコードをデコードするフローを例示する。このフローは、図3に示す従来のBCHコードのデコードのフローに対応し、ECC回路130は、50MHzのクロック信号を用いてECC処理を実行し、1つのキャッシュは、第1および第2のセクターから構成される。ステップ1ないしステップ3までは、図3のフローと同様であるが、本実施例では、ステップ4を行わず、ステップ5を実施する。
ステップ5:ページバッファ/センス回路170からデータバス200に出力されたデータを反転することでエラー訂正を実施する。
【0043】
本実施例では、ステップ4のページバッファ/センス回路への書き戻しを行わない。つまり、ページバッファ/センス回路170をアクセスしない。それ故、ECC回路130は、ステップ3の第1のセクターのELPの根までの処理をフォアグラウンドで行い、第2のセクターのELPの根の処理を、第1のセクターのエラー訂正期間中にバックグラウンドで行うことができる。ステップ1でページバッファ/センス回路170をアクセスした後は、ページバッファ/センス回路170への書込みは行われないため、ページバッファ/センス回路からのデータの読出しは、ECC回路によるアクセスと競合しない。さらに、ステップ3で第1のセクターのエラー位置が決定されていれば、そのエラー位置情報を用いて即座にデータバス上のデータを訂正することができる。従って、ステップ3の第1のセクターのエラー位置の算出までをフォアグラウンドで処理し、その後、ページバッファ/センス回路170からデータバス200へ第1のセクターのデータを出力させ、エラー訂正を行っている間に、ステップ3の第2のセクターのエラー位置の算出をバックグラウンドで処理する。
【0044】
そうすると、ECC回路130のフォアグラウンドの処理時間tECC_FGは356クロックサイクルを必要とし、tECC_FG=7.12μsであり、バックグラウンドの処理時間tECC_BGは140サイクルを必要とし、tECC_BG=2.8μsとなる。tECC_FG=7.12μsは、数式(2)で示すtECC<8.4μsの制約を満足する。tECC_FG=7.12μsのとき、tPRE+tDIS+tECC_FG=23.32μsであり、これを外部クロック信号ExCLKの周波数に換算すると、外部クロック信号ExCLKの周波数を175.6MHzまで早くすることができる。言い換えれば、175.6MHzの外部クロック信号ExCLKを用いて、マルチビットECCを行いながらページの連続読出しを行うことが可能になる。
【0045】
図8は、本実施例によるページの連続読出しを行うときのタイミングチャートを示す図である。コントローラ150は、入出力回路120を介して連続読出し動作のコマンドを受け取ると、開始アドレスから複数のページの連続読出し動作を制御し、連続読出し動作終了のコマンドを受け取ると、終了アドレスで連続読出し動作を終了する。連続読出し動作では、ページバッファ/センス回路170の一方のラッチL2からデータが出力されている間に他方のラッチL1にメモリセルアレイの選択ページから読み出されたデータが転送される。ラッチL1からラッチL2へのデータ転送は、第1または第2のキャッシュC0、C1で行なわれ、ラッチL2の一方のキャッシュのデータが入出力回路120に転送される間にラッチL2の他方のキャッシュのデータがECC回路130で処理される。入出力回路120に転送されたデータは、外部クロック信号ExCLKに同期して外部入出力端子から出力される。
【0046】
同図に示すように、外部クロック信号ExCLKが166MHzであるときのtDOUTは24.6μsであり、本実施例による読出し時間(tPRE+tDIS+tECC)は、tDOUTよりも小さい。図中のハッチングで示す矩形領域は、ECC回路130のバックグラウンド処理(第2のセクターのELPの処理等)を示している。
【0047】
このように本実施例によれば、ページバッファ/センス回路170からデータバス200に出力されたデータを訂正するようにしたので、エラー訂正のためにページバッファ/センス回路へのアクセスが不要となり、ECC回路の処理の一部をバックグラウンドで実行することが可能となり、結果としてECC回路の処理時間を短縮させることができる。これにより、連続読出しの高速化を図ることができる。上記実施例では、連続読出し動作にECC回路130を適用する例を示したが、これに限らず、ECC回路130を通常のページ読出しに適用することも勿論可能である。
【0048】
次に、本発明の第2の実施例について説明する。図9は、第2の実施例に係るフラッシュメモリのECC回路を示す図である。同図に示すように、ECC回路130は、第1の実施例の構成に加えてさらに、書込み回路139を含んでいる。コントローラ150は、入力された読出しコマンドに基づきページ読出しまたは連続読出しを識別し、識別結果に基づきイネーブル信号EN1、EN2を介してエラー訂正部138または書込み回路139を選択的に動作させる。
【0049】
図10は、第2の実施例のECC回路の動作フローである。コントローラ150は、読出しコマンドを受け取ると(S100)、連続読出しまたはページ読出しかを識別する(S110)。連続読出しである場合には、コントローラ150は、イネーブル信号EN1を介してエラー訂正部138をイネーブルし、イネーブル信号EN2を介して書込み回路139をディスエーブルする。これにより、第1の実施例のときと同様に、エラー訂正部138は、ページバッファ/センス回路170からデータバス200に出力されたデータを訂正する(S120)。
【0050】
一方、ページ読出しの場合には、コントローラ150は、イネーブル信号EN1を介してエラー訂正部138をディスエーブルにし、イネーブル信号EN2を介して書込み回路139をイネーブルする。エラー訂正部138は、ディスエーブルされたとき、反転制御信号を全てLレベルにし、データバス200のデータをそのまま通過させる。一方、書込み回路139は、図1に示すように、エラー位置情報に基づきページバッファ/センス回路170に訂正されたデータを書き戻す(S130)。
【0051】
このように本実施例によれば、連続読出しの場合には、読出し速度を重視したECC処理を行い、ページ読出しの場合には、IDM(Internal Date Move)の機能を利用したデータの信頼性の向上を図ることができる。IDMは、ページバッファ/センス回路のページデータを別のブロックのページにコピーする機能であり、ページバッファ/センス回路に保持されたデータをECC処理した後にページバッファ/センス回路に書き戻し、このECC処理されたページデータを他のブロックのページにプログラムする。つまり、ページバッファ/センス回路がECC回路により訂正されたデータを保持している必要がある。
【0052】
上記実施例では、マルチビットECCによるBCHコードをデコードするフローを図3図7に示したが、これらのフロー(アルゴリズム)は例示であり、BCHコードを他のフローによりデコードするようにしてもよい。さらに本発明は、マルチビットECCに限定されず、1ビットのエラー検出・訂正を行うECC回路やBCHコード以外のコードを用いるエラー検出・訂正にも適用することができる。
【0053】
本発明の好ましい実施の形態について詳述したが、本発明は、特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【0054】
100:フラッシュメモリ
110:メモリセルアレイ
120:入出力回路
130:ECC回路
132:転送回路
134:ECCコア
136:エラーレジスタ
138:エラー訂正部
138A:アドレス比較部
138B:反転回路
139:書込み回路
140:アドレスレジスタ
150:コントローラ
160:ワード線選択回路
170:ページバッファ/センス回路
180:列選択回路
190:内部電圧発生回路
200:データバス
図1
図2A
図2B
図3
図4
図5
図6
図7
図8
図9
図10