(57)【要約】【課題】  外部端子から内部に取り込まれるデータを検証することができる半導体記憶装置を提供する。【解決手段】  本発明のフラッシュメモリは、データを入力または出力する外部入出力端子と、メモリアレイ１１０と、ページバッファ／センス回路１７０とを備える。ページバッファ／センス回路１７０は、外部入出力端子から入力された入力データを保持し、保持された入力データはメモリアレイ１１０にプログラム可能である。さらにフラッシュメモリは、ページバッファ／センス回路１７０に保持された入力データと、ページバッファ／センス回路１７０から読み出された入力データとを比較する比較回路１３２とを備える。【選択図】  図８
2017157262.tif 000002
【特許請求の範囲】
【請求項１】
外部端子と、
メモリアレイと、
前記外部端子から入力された入力データを保持し、保持した入力データを前記メモリアレイにプログラム可能であるデータ保持手段と、
前記外部端子から前記データ保持手段に保持された入力データと、前記データ保持手段から読み出された前記入力データとを比較する比較手段と、
を有する半導体記憶装置。
【請求項２】
前記比較手段は、前記入力データをプログラムするときに実施される、請求項１に記載の半導体記憶装置。
【請求項３】
前記比較手段は、前記データ保持手段の同一列アドレスの入力データを比較する、請求項１または２に記載の半導体記憶装置。
【請求項４】
前記データ保持手段は、入力ラインおよび出力ラインを介して前記外部端子に接続され、前記比較手段は、前記入力ライン上を伝送される入力データと前記出力ライン上を伝送される入力データとを比較する、請求項１ないし３いずれか１つに記載の半導体記憶装置。
【請求項５】
前記比較手段は、テストモード時に実施される、請求項１に記載の半導体記憶装置。
【請求項６】
半導体記憶装置はさらに、前記比較手段の比較結果に基づき前記データ保持手段の故障の有無を判定する判定手段を含む、請求項１ないし５いずれか１つに記載の半導体記憶装置。
【請求項７】
半導体記憶装置はさらに、半導体記憶装置の動作を制御する制御手段を含み、前記制御手段は、前記外部端子から入力されたコマンドを保持可能な保持回路を含み、前記比較手段は、前記保持回路に保持された入力データと前記データ保持手段から読み出された入力データとを比較する、請求項１ないし６いずれか１つに記載の半導体記憶装置。
【請求項８】
前記制御手段は、前記比較手段によりデータが不一致であるとき、前記保持回路に保持されたデータを前記データ保持手段に再入力する、請求項６または７に記載の半導体記憶装置。
【請求項９】
外部端子と、当該外部端子から入力された入力データを保持するデータ保持手段と、前記データ保持手段に接続されたメモリアレイとを有する半導体記憶装置の入力データの検証方法であって、
前記外部端子から前記データ保持手段に前記入力データをロードするステップと、
前記データ保持手段にロードされた入力データを読み出すステップと、
前記データ保持手段に保持された入力データと前記データ保持手段から読み出された入力データとを比較するステップと、
を有する入力データの検証方法。
【請求項１０】
前記比較するステップは、入力データをプログラムするときに行われる、請求項９に記載の検証方法。
【請求項１１】
前記ロードするステップおよび前記読み出するステップは、１つのデータ入力サイクル中に実施される、請求項９または１０に記載の検証方法。
【請求項１２】
前記比較するステップは、テストモード時に行われる、請求項９に記載の検証方法。
【請求項１３】
検証方法はさらに、前記比較するステップの比較結果に基づき前記データ保持手段の故障の有無を判定するステップを含む、請求項１２に記載の検証方法。
【請求項１４】
前記ロードするステップは、入力ライン上を伝送される入力データを保持するステップを含み、前記比較するステップは、前記保持された入力データと前記データ保持手段から読み出される入力データとを比較する、請求項９ないし１３いずれか１つに記載の検証方法。
【請求項１５】
前記比較するステップにより入力データが不一致であるとき、前記保持するステップにより保持されたデータを前記データ保持手段に再入力するステップを含む、請求項１４に記載の検証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体記憶装置、特にＮＡＮＤ型やＮＯＲ型のフラッシュメモリの入力データの検証方法に関する。
【背景技術】
【０００２】
ＮＡＮＤ型のフラッシュメモリのプログラム動作では、選択されたワード線に高電圧のプログラム電圧（例えば、１５〜２０Ｖ）を印加し、非選択のワード線に中間電位（例えば、１０Ｖ）を印加し、プログラムすべきデータ「０」または「１」に応じた電位をビット線に供給することで、選択メモリセルのフローティングゲートにチャンネルからゲート絶縁膜を介して電子をトンネリングさせている（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−２５３５９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
図１に、ＮＡＮＤ型のフラッシュメモリの要部の構成を示す。同図には、１つ外部入出力端子１０とページバッファ／センス回路３０との間の１つの伝送路２０が例示されている。１つの伝送路２０は、入出力端子１０からのデータを入力する入力バッファ２２Ａと、入力バッファ２２Ａからのシングルエンドの入力データを搬送する入力ライン２４Ａと、シングルエンドのデータを差動データに変換し、差動データをデータラインＤＬ、／ＤＬを介してページバッファ／センス回路３０へ供給するドライバ２６Ａとを含む。さらに伝送路２０は、ページバッファ／センス回路３０からの差動データをシングルエンドのデータに変換するドライバ２６Ｂと、変換されたデータを出力する出力バッファ２２Ｂと、出力バッファ２２Ｂから出力された出力データを入出力端子１０へ搬送する出力ライン２４Ｂとを有する。
【０００５】
外部入出力端子１０は、コマンド、アドレス、入出力データに共通に使用されるが、これらのデータの識別は、ここには図示しない外部制御信号（例えば、コマンドラッチイネーブル信号、アドレスラッチイネーブル信号等）によって行われる。例えば、コマンドラッチイネーブル信号がＨレベル、アドレスイネーブル信号がＬレベルのとき、外部入出力端子１０に現われたデータがコマンドとして識別され、当該コマンドは入力バッファ２２Ａを介してコントローラ４０のラッチ回路４２に保持される。コントローラ４０は、ラッチ回路４２に保持されたコマンドを解読し、プログラム動作、読出し動作、または消去動作等を制御する。また、アドレスイネーブル信号がＨレベル、コマンドイネーブル信号がＬレベルのとき、外部入出力端子１０に現われたデータがアドレスとして識別され、当該アドレスは入力バッファ２２Ａを介して図示しないアドレスレジスタに保持される。アドレスイネーブル信号がＬレベル、コマンドイネーブル信号がＬレベルのとき、外部入出力端子１０に現われたデータが入力バッファ２２Ａ、入力ライン２４Ａ、ドライバ２６Ａを介してページバッファ／センス回路３０にロードされる。
【０００６】
図２は、入力データがページバッファ／センス回路にロードされるときのタイミングチャートを示している。ここでは、既にプログラムコマンドおよびアドレスが入力されているものとする。ライトイネーブル信号ＷＥＮがＨレベルのとき、ページバッファ／センス回路３０へデータの入力が可能であり、Ｌレベルのときデータの出力が可能である。ＰＣＢ信号がＨレベルのとき、ドライバ２６Ａ、２６ＢとデータラインＤＬ、／ＤＬ間のデータ転送が可能であり、ＹＡ信号がＨレベルのとき、ページバッファ／センス回路３０の列アドレスを選択可能である。同図に示すように、外部入出力端子１０に入力された入力データＤｏ、Ｄ１、Ｄ２、Ｄ３は、それぞれページバッファ／センス回路３０の列アドレスＡ、Ａ＋１、Ａ＋２、Ａ＋３にロードされる。
【０００７】
次に、ページバッファ／センス回路３０にロードされたデータは、行選択回路によって選択されたページにプログラムされ、その後、プログラムが成功したか否かを判定するプログラムベリファイが行われる。プログラムベリファイは、選択ページにベリファイ電圧を印加する読出しであり、メモリセルのしきい値が「０」の分布幅内にあるか否かを検証する。「０」の分布幅に到達していなければ、メモリセルは不合格と判定され、当該メモリセルには、前回のプログラムパルスよりもΔＶだけ大きなプログラムパルスが再度印加される。プログラムパルスの印加回数が予め決められた回数に到達しても不合格メモリセルである場合には、当該選択ページを含むブロックがバッドブロックとして管理される。
【０００８】
このように、従来のフラッシュメモリでは、入力データをプログラムするとき、プログラムベリファイによって入力データが選択ページに正しくプログラムされたか否かをチェックすることが可能であるが、ページバッファ／センス回路３０の一部に不良があるとき、あるいは外部入出力端子２０とページバッファ／センス回路３０との間の伝送路２０に不良があると、入力データが正しくページバッファ／センス回路３０にロードされず、結果的に誤ったデータがプログラムされてしまう。今後、トランジスタのさらなる微細化が進み、ページバッファ／センス回路３０のラッチ回路を構成するトランジスタに不良が生じたり、あるいはその動作が不安定化したり、また、外部入出力端子１０からページバッファ／センス回路３０の伝送路に欠陥や故障（例えば、短絡やオープンなど）が生じたり、あるいは、データ伝送速度の高速化によるノイズや電源電圧の変動によるデータの破壊の可能性を考慮すると、外部入出力端子からページバッファ／センス回路へ入力されるデータの検証が必要である。これは、ＮＡＮＤ型のフラッシュメモリのみならず、外部端子から入力されたデータをメモリに記憶するような構成の半導体記憶装置に共通の課題でもあり得る。
【０００９】
本発明は、このような従来の課題を解決するものであり、外部端子から内部に取り込まれた入力データを検証する機能を備えた半導体記憶装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明に係る半導体記憶装置は、外部端子と、メモリアレイと、前記外部端子から入力された入力データを保持し、保持した入力データを前記メモリアレイにプログラム可能であるデータ保持手段と、前記外部端子から前記データ保持手段に保持された入力データと、前記データ保持手段から読み出された前記入力データとを比較する比較手段と、を有する。
【００１１】
好ましくは前記比較手段は、前記入力データをプログラムするときに実施される。好ましくは前記比較手段は、前記データ保持手段の同一列アドレスの入力データを比較する。好ましくは前記データ保持手段は、入力ラインおよび出力ラインを介して前記外部端子に接続され、前記比較手段は、前記入力ライン上を伝送される入力データと前記出力ライン上を伝送される入力データとを比較する。好ましくは前記比較手段は、テストモード時に実施される。好ましくは半導体記憶装置はさらに、前記比較手段の比較結果に基づき前記データ保持手段の故障の有無を判定する判定手段を含む。好ましくは半導体記憶装置はさらに、半導体記憶装置の動作を制御する制御手段を含み、前記制御手段は、前記外部端子から入力されたコマンドを保持可能な保持回路を含み、前記比較手段は、前記保持回路に保持された入力データと前記データ保持手段から読み出された入力データとを比較する。好ましくは前記制御手段は、前記比較手段によりデータが不一致であるとき、前記保持回路に保持されたデータを前記データ保持手段に再入力する。
【００１２】
本発明の入力データの検証方法は、外部端子と、当該外部端子から入力された入力データを保持するデータ保持手段と、前記データ保持手段に接続されたメモリアレイとを有する半導体記憶装置のものであって、前記外部端子から前記データ保持手段に前記入力データをロードするステップと、前記データ保持手段にロードされた入力データを読み出すステップと、前記データ保持手段に保持された入力データと前記データ保持手段から読み出された入力データとを比較するステップと、を有する。
【００１３】
好ましくは前記比較するステップは、入力データをプログラムするときに行われる。好ましくは前記ロードするステップおよび前記読み出するステップは、１つのデータ入力サイクル中に実施される。好ましくは前記比較するステップは、テストモード時に行われる。好ましくは検証方法はさらに、前記比較するステップの比較結果に基づき前記データ保持手段の故障の有無を判定するステップを含む。好ましくは前記ロードするステップは、入力ライン上を伝送される入力データを保持するステップを含み、前記比較するステップは、前記保持された入力データと前記データ保持手段から読み出される入力データとを比較する。好ましくは前記比較するステップにより入力データが不一致であるとき、前記保持するステップにより保持されたデータを前記データ保持手段に再入力するステップを含む。
【発明の効果】
【００１４】
本発明によれば、外部端子からデータ保持手段に保持された入力データと、データ保持手段から読み出した入力データとを比較する比較手段を設けたことにより、入力データが正しくデータ保持手段に保持されたか否かを検証することができる。
【図面の簡単な説明】
【００１５】
【図１】従来のフラッシュメモリの要部の構成を示すブロック図である。
【図２】従来のフラッシュメモリの入力データがページバッファ／センス回路へロードされるときの動作を説明するタイミングチャートである。
【図３】本発明の実施例に係るＮＡＮＤ型フラッシュメモリの全体の概略構成を示す図である。
【図４】本発明の実施例に係るメモリセルアレイのＮＡＮＤストリングの構成を示す回路図である。
【図５】本発明の実施例に係るフラッシュメモリの動作時に各部に印加される電圧の一例を示す図である。
【図６】本実施例のページバッファ／センス回路の構成を示す図である。
【図７】入出力端子からページバッファ／センス回路へのデータのロードを説明する図である。
【図８】本発明の第１の実施例に係る入力データの検証をするための検証回路の構成を示す図である。
【図９】本発明の第１の実施例に係る入力データの検証時の各部のタイミングチャートである。
【図１０】本発明の第１の実施例に係る入力データの検証方法を説明するフローチャートである。
【図１１】本発明の第２の実施例に係る入力データの検証方法を説明するフローチャートである。
【図１２】本発明の第２の実施例に係る入力データの検証方法を実施するための構成を示す図である。
【発明を実施するための形態】
【００１６】
次に、本発明の実施の形態について図面を参照して詳細に説明する。ここでは、好ましい形態としてＮＡＮＤ型のフラッシュメモリを例示する。なお、図面は、分かり易くするために各部を強調して示してあり、実際のデバイスのスケールとは異なることに留意すべきである。
【実施例】
【００１７】
本発明の実施例に係るフラッシュメモリの要部の構成を図３に示す。但し、ここに示すフラッシュメモリの構成は例示であり、本発明は、必ずしもこのような構成に限定されるものではない。本実施例のフラッシュメモリ１００は、複数のメモリセルが行列状に配列されたメモリアレイ１１０と、外部入出力端子Ｉ／Ｏに接続された入出力バッファ１２０と、外部入出力端子Ｉ／Ｏから入力された入力データの検証を行う検証回路１３０と、入出力バッファ１２０からアドレスデータを受け取るアドレスレジスタ１４０と、入出力バッファ１２０からコマンドデータ等を受け取り、各部を制御するコントローラ１５０と、アドレスレジスタ１４０から行アドレス情報Ａｘを受け取り、行アドレス情報Ａｘをデコードし、デコード結果に基づきブロックの選択およびワード線の選択等を行うワード線選択回路１６０と、ワード線選択回路１６０によって選択されたページから読み出されたデータを保持したり、選択されたページにプログラムすべき入力データを保持するページバッファ／センス回路１７０と、アドレスレジスタ１４０から列アドレス情報Ａｙを受け取り、列アドレス情報Ａｙをデコードし、当該デコード結果に基づきページバッファ／センス回路１７０内の列アドレスのデータを選択する列選択回路１８０と、データの読出し、プログラムおよび消去等のために必要な種々の電圧（書込み電圧Vpgm、パス電圧Vpass、読出しパス電圧Vread、消去電圧Versなど）を生成する内部電圧発生回路１９０とを含んで構成される。
【００１８】
メモリアレイ１１０は、列方向にｍ個のメモリブロックBLK(0)、BLK(1)、・・・、BLK(m-1)を有し、ブロックBLK(0)に近接してページバッファ／センス回路１７０が配置される。１つのメモリブロックには、例えば、図４に示すように、複数のメモリセルを直列に接続したＮＡＮＤストリングユニットＮＵが複数形成される。１つのＮＡＮＤストリングＮＵは、直列に接続された複数のメモリセルMCi(i=０、１、・・・、３１)と、ビット線側選択トランジスタTDと、ソース線側選択トランジスタTSとを含む。ビット線側選択トランジスタTDのドレインは、対応する１つのビット線GBLに接続され、ソース線側選択トランジスタTSのソースは、共通のソース線SLに接続される。
【００１９】
メモリセルMCiのコントロールゲートは、ワード線WLiに接続され、選択トランジスタTD、TSのゲートは、ワード線WLと並行する選択ゲート線SGD、SGSに接続される。ワード線選択回路１６０は、行アドレスＡｘに基づき選択ゲート信号SGS、SGDを介して選択トランジスタTD、TSを駆動し、ブロックやワードを選択する。
【００２０】
メモリセルは、典型的に、Ｐウエル内に形成されたＮ型の拡散領域であるソース／ドレインと、ソース／ドレイン間のチャンネル上に形成されたトンネル酸化膜と、トンネル酸化膜上に形成されたフローティングゲート（電荷蓄積層）と、フローティングゲート上に誘電体膜を介して形成されたコントロールゲートとを含むＭＯＳ構造を有する。フローティングゲートに電荷が蓄積されていないとき、つまりデータ「１」が書込まれているとき、しきい値は負状態にある。フローティングゲートに電子が蓄積されたとき、つまりデータ「０」が書込まれているとき、しきい値は正にシフトする。但し、メモリセルは、１ビット（２値データ）を記憶するＳＬＣタイプでもよいし、多ビットを記憶するＭＬＣタイプであってもよい。
【００２１】
図５は、フラッシュメモリの各動作時に印加されるバイアス電圧の一例を示したテーブルである。読出し動作では、ビット線に正の電圧を印加し、選択ワード線に例えば０Ｖを印加し、非選択ワード線にパス電圧Vpass（例えば４．５Ｖ）を印加し、選択ゲート線SGD、SGSに正の電圧（例えば４．５Ｖ）を印加し、ビット線側選択トランジスタTD、ソース線側選択トランジスタTSをオンし、共通ソース線に０Ｖを印加する。プログラム動作では、選択ワード線に高電圧のプログラム電圧Vpgm（１５〜２０Ｖ）を印加し、非選択のワード線に中間電位（例えば１０Ｖ）を印加し、ビット線側選択トランジスタTDをオンさせ、ソース線側選択トランジスタTSをオフさせ、「０」または「１」のデータに応じた電位をビット線GBLに供給する。消去動作では、ブロック内の選択されたワード線に０Ｖを印加し、Ｐウエルに高電圧（例えば２０Ｖ）を印加し、フローティングゲートの電子を基板に引き抜くことで、ブロック単位でデータを消去する。
【００２２】
図６は、ページバッファ／センス回路の構成を示す図である。ページバッファ／センス回路１７０は、読出し動作時等に選択メモリセルのビット線電位を感知するセンス回路と、プログラムすべき入力データやメモリアレイから読み出されたデータ等を保持するラッチ回路とを備えている。センス回路は、電圧供給部V1から供給された電圧をビット線にプリチャージするためのトランジスタBLPRE、ビット線をクランプするためのトランジスタBLCLAMP、センスノードSNSとラッチノードSLR間で電荷を転送するためのトランジスタBLCD、ラッチノードSLRの電位を電圧供給部V2に接続されたトランジスタVGに転送するためのトランジスタDTG、電圧供給部V2をセンスノードSNSに結合するためのトランジスタREGを含む。トランジスタDTGは、例えば、プログラムベリファイ等においてセンスノードSNSをＬレベルからＨレベルに反転させる必要があるときに動作される。ラッチ回路は、クロスカップルされた一対のインバータと、ノードSLR／SLSを等価するためのトランジスタEQ_ENと、ノードSLR／SLSをデータラインＤＬ、／ＤＬに接続するトランジスタQ1、Q2と、ノードSLSに接続されたベリファイ用トランジスタQ3とを含む。トランジスタQ1、Q2のゲートには、PCB信号が供給される。
【００２３】
図７は、外部入出力端子からページバッファ／センス回路１７０への入力データのロードの一例を示す図である。例えば、フラッシュメモリ１００が×８の外部入出力端子を有するとき、外部入出力端子Ｉ／Ｏ−０〜Ｉ／Ｏ−７から各入出力バッファ１１０−１〜１１０−７を介してページバッファ／センス回路１７０に入力データＤｉがロードされる。ページバッファ／センス回路１７０は、例えば、セクタ０〜セクタ７の８つのセクタに分割されたレギュラー領域２００と、スペア領域２１０とを有する。
【００２４】
１つのセクタは、例えば、２５６バイトから構成され、この場合、レギュラー領域２００は、全体で約２Ｋバイトのデータを保持する。スペア領域２１０は、例えば、６４バイトから構成され、ユーザーデータやバッドブロック等の情報を保持する。１つのセクタには、外部入出力端子Ｉ／Ｏ−０〜Ｉ／Ｏ−７が割り当てられ、つまり、１つのセクタに入力データをロードするとき、１つの外部入出力端子には２５６ビットが割り当てられる（２５６bit×８＝１セクタ）。列選択回路１８０は、プログラム動作時に受け取った列アドレス情報Ａｙに基づき、外部入出力端子Ｉ／Ｏ−０〜Ｉ／Ｏ−７に入力されたデータがロードされる列アドレスを選択する。図７は、外部入出力端子Ｉ／Ｏ−０〜Ｉ／Ｏ−７から入力されたデータがセクタ０にロードされる例を示している。
【００２５】
次に、本実施例の検証回路１３０について説明する。本実施例の検証回路１３０は、外部入出力端子から入力された入力データの検証を行う。図８は、検証回路１３０の好ましい構成例を示す。なお、同図に示す伝送路は、図１に示す伝送路と同様の構成である。検証回路１３０は、コントローラ１５０のラッチ回路１５２に保持されたデータと、出力ライン２４Ｂから読み出されたデータとを入力し、両データを比較する比較回路１３２とを含む。比較回路１３２は、例えば、一致回路（ＥＸ−ＮＯＲ）から構成される。コントローラ１５０は、通常、外部入出力端子から取り込まれたコマンドをラッチ回路１５２に保持させ、その解読を行うが、コマンドが入力される以外の期間、例えば、入力データがページバッファ／センス回路１７０にロードされる期間、アイドル状態にある。本実施例では、ラッチ回路１５２のアイドル状態を利用し、入力データがページバッファ／センス回路１７０にロードされるとき、同時に入力データをラッチ回路１５２に保持させる。具体的には、コントローラ１５０は、プログラムコマンドを受け取り、当該コマンドに基づきプログラムシーケンスを実行するとき、その後に外部入出力端子から内部に取り込まれる入力データをラッチ回路１５２に保持させる。さらに、コントローラ１５０は、入力データがページバッファ／センス回路１７０にロードされるや否や、ページバッファ／センス回路１７０からロードされたデータを出力ライン２４Ｂ上に読出し、読み出したデータとラッチ回路１５２に保持されたデータとを比較回路１３２に比較させる。もし、読み出されたデータとラッチ回路１５２に保持されたデータとが不一致であれば、ページバッファ／センス回路１７０および／または伝送路に故障または故障があることが予想される。
【００２６】
図９は、本実施例による入力データの検証時のタイミングチャートである。本実施例では、入力データが内部にロードされると、次の入力データがロードされるまでの間に、ロードされた入力データの検証が実施される。言い換えれば、データ入力サイクルは、入力データの検証サイクルを伴う。図９において、１つのデータ入力サイクルは、時間期間ｔ０とｔ１とを有する。時間期間ｔ０において、外部入出力端子から入力データＤ０が内部に取り込まれ、入力データＤ０は、列選択回路１８０によって選択されたページバッファ／センス回路１７０の列アドレスＡにロードされる。例えば、図７に示すように、×８の入出力端子であれば、入力データＤ０は、８ビットデータである。
【００２７】
次の時間期間ｔ１において、入力データＤ０の検証が行われる。すなわち、ライトイネーブル信号ＷＥＮがＨレベルからＬレベルに遷移され、ページバッファ／センス回路１７０のアドレスＡに保持された入力データＤ０がデータラインＤＬ、／ＤＬに読み出され、比較回路１３２は、ラッチ回路１５２に保持された入力データＤ０と出力ライン２４Ｂ上に読み出された入力データＤ０とを比較する。比較回路１３２の比較結果が両データの不一致を表すとき、どのような後処理をするかは任意であるが、例えば、比較結果がコントローラ１５０へ提供され、再度、入力データＤ０がページバッファ／センス回路１７０にロードされるようにしてもよい。あるいは、外部のコントローラへ入力データの破壊がある旨の警告を出力するようにしてもよい。
【００２８】
入力データＤ０のロードおよび検証が終了すると、次の入力データがロードされる。次のデータ入力サイクルは、時間期間ｔ２、ｔ３を有する。時間期間ｔ２において、入力データＤ１がラッチ回路１５２に保持され、かつページバッファ／センス回路１７０の選択された列アドレスＡ＋１にロードされる。列アドレスＡ＋１は、列アドレスＡを自動的にインクリメントするものであってもよいし、外部から供給されるものであってもよい。次の時間期間ｔ４において、上記と同様に、入力データＤ１の検証が行われる。
【００２９】
図１０は、本実施例のプログラム動作のフローである。先ず、外部コントローラからフラッシュメモリ１００の外部入出力端子にプログラムコマンドおよびアドレスが順次供給され、プログラムコマンドがラッチ回路１５２に保持され、アドレスがアドレスレジスタ１４０にそれぞれ取り込まれる（Ｓ１００）。コントローラ１５０は、ラッチ回路１５２に保持されたプログラムコマンドを解読し、プログラムシーケンスを開始する。次に、外部コントローラからフラッシュメモリ１００の外部入出力端子に入力データが供給され、入力データが入力ライン２４Ａを介してラッチ回路１５２に保持され（Ｓ１０２）、かつページバッファ／センス回路１７０の選択された列アドレスにロードされる（Ｓ１０４）。次に、コントローラ１５０は、ページバッファ／センス回路１７０にロードされた入力データを出力ライン２４Ｂ上に出力させ（Ｓ１０６）、比較回路１３２に、ラッチ回路１５２に保持された入力データと出力ライン２４Ｂ上に読み出された入力データとを比較させ、入力データの検証を行う（Ｓ１０８）。全ての入力データのロードが完了すると（Ｓ１１０）、ページバッファ／センス回路１７０に保持された入力データが選択ページにプログラムされる（Ｓ１１２）。
【００３０】
ここで、コントローラ１５０は、入力データの検証結果が不合格であるとき（比較回路により両データが不一致であるとき）、プログラムを行う前に、ラッチ回路１５２に保持された入力データをページバッファ／センス回路１７０に再入力させ、再検証を行わせることができる。この再入力／再検証は、すべての入力データの入力が終了した後に実行されてもよく、この場合、ラッチ回路１５２は、再検証が行われるまで入力データを保持し続ける。また、コントローラ１５０は、入力データの再入力／再検証の回数が一定数に到達した場合には、プログラム不能または物理的な故障や故障を表す信号を外部コントローラに出力するようにしてもよい。
【００３１】
次に、本発明の第２の実施例について説明する。第１の実施例では、入力データの検証をプログラム動作時に実行するものであるが、第２の実施例では、入力データの検証をテストモード時に実行する。図１１に、第２の実施例に係る入力データの検証方法のフローを示す。コントローラ１５０は、外部入出力端子からテストモード用コマンドがラッチ回路１５２に受け取られると（Ｓ２００）、テストモードのシーケンスを開始する。テストモードでは、外部コントローラからフラッシュメモリ１００の外部入出力端子にテストデータが送信され、このテストデータがラッチ回路１５２に保持され（Ｓ２０２）、かつページバッファ／センス回路１７０にロードされる（Ｓ２０４）。次に、ページバッファ／センス回路１７０から出力ライン２４Ｂにテストデータが読み出され（Ｓ２０６）、比較回路１３２によってラッチ回路１５２に保持されたテストデータと出力ライン２４Ｂ上に読み出されたテストデータとが比較され、テストデータの検証が行われる（Ｓ２０８）。この検証結果は、故障の有無の判定に供される（Ｓ２１０）。
【００３２】
１つの好ましい態様では、ページバッファ／センス回路１７０のセクタ単位でテストが実施される。図１２は、外部入出力端子Ｉ／Ｏ−０〜Ｉ／Ｏ−７からページバッファ／センス回路１７０のセクタ０にテストデータがロードされる例を示している。例えば、１つのセクタが２５６バイトであるとき、テストデータは、２５６のデータ入力サイクルで外部入出力端子Ｉ／Ｏ−０〜Ｉ／Ｏ−７から内部に取り込まれる。外部入出力端子Ｉ／Ｏ−０〜Ｉ／Ｏ−７には、８本の入出力ライン２４Ａ、２４Ｂがそれぞれ接続され、８本の入出力ラインは、ラッチ回路１５２に接続されるとともに列選択回路１８０を介してセクタ０に接続される。列選択回路１８０は、列アドレスを選択するための選択用トランジスタを複数含み、例えば、１つの入出力ライン２４Ａ、２４Ｂには、２５６個の選択用トランジスタに接続される。列選択回路１８０は、列アドレスに応じて２５６個の選択用トランジスタのいずれかをオンさせ、入出力ライン２４Ａ、２４Ｂを選択された列アドレスに接続する。テストモードにおいて、列アドレスは、アドレスカウンタによってインクリメントされることができ、必ずしも外部からの入力を必要としない。
【００３３】
８ビットのテストデータが入力されたとき、比較回路１３２−０、１３２−１、…１３２−７は、ラッチ回路１５２に保持されたテストデータと、セクタ０から出力ライン２４Ｂ上に読み出されたテストデータとを比較し、その比較結果をアンド回路１３４へ提供する。アンド回路１３４は、８ビットのテストデータが入力されるたびに、その比較結果を判定回路１３６に出力する。判定回路１３６は、セクタ０へのすべてのテストデータのロードが完了したとき、セクタ０の回路の故障、あるいはセクタ０への伝送路の故障の有無を判定する。以後、セクタ１、セクタ２、…セクタ７についても同様の処理が実施される。勿論、セクタ単位で故障の有無を判定する以外に、すべてのセクタへのテストデータのロードが完了したとき、判定回路１３６は、判定結果を提供するようにしてもよい。
【００３４】
このように本実施例によれば、ページバッファ／センス回路やその伝送路上の故障の有無を、テスタ等の機器を用いることなく容易にかつ高速に判定することができる。
【００３５】
本発明の好ましい実施の形態について詳述したが、本発明は、特定の実施形態に限定されるものではなく、特許請求の範囲に記載された発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００３６】
１００：フラッシュメモリ                １１０：メモリアレイ
１２０：入出力バッファ                  １３０：検証回路
１４０：アドレスレジスタ                １５０：コントローラ
１６０：ワード線選択回路                １７０：ページバッファ／センス回路
１８０：列選択回路                      １９０：内部電圧発生正回路
【図１】
2017157262.tif 000003
【図２】
2017157262.tif 000004
【図３】
2017157262.tif 000005
【図４】
2017157262.tif 000006
【図５】
2017157262.tif 000007
【図６】
2017157262.tif 000008
【図７】
2017157262.tif 000009
【図８】
2017157262.tif 000010
【図９】
2017157262.tif 000011
【図１０】
2017157262.tif 000012
【図１１】
2017157262.tif 000013
【図１２】
2017157262.tif 000014
【手続補正書】
【提出日】平成29年1月27日(2017.1.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
外部端子と、
メモリアレイと、
前記外部端子から入力された入力データを保持する第１の保持手段と、
前記外部端子から入力された前記入力データを保持し、当該入力データを前記メモリアレイにプログラム可能である第２のデータ保持手段と、
前記入力データを前記メモリアレイにプログラムする前に、前記第１のデータ保持手段に保持された前記入力データと、前記第２のデータ保持手段から読み出された前記入力データとを比較する比較手段と、
前記比較手段による比較後に、前記第２のデータ保持手段に保持された前記入力データを前記メモリアレイにプログラムするプログラム手段と、
を有する半導体記憶装置。
【請求項２】
前記第２のデータ保持手段は、入力ラインおよび出力ラインを介して前記外部端子に接続され、前記第１のデータ保持手段は、前記入力ラインに接続され、前記入力ライン上を伝送される入力データを保持し、前記比較手段は、前記第１のデータ保持手段に保持された入力データと前記第２のデータ保持手段から読み出された前記出力ライン上を伝送される入力データとを比較する、請求項１に記載の半導体記憶装置。
【請求項３】
前記比較手段は、テストモード時に実施される、請求項１または２に記載の半導体記憶装置。
【請求項４】
半導体記憶装置はさらに、前記比較手段の比較結果に基づき前記データ保持手段の故障の有無を判定する判定手段を含む、請求項１ないし３いずれか１つに記載の半導体記憶装置。
【請求項５】
半導体記憶装置はさらに、半導体記憶装置の動作を制御する制御手段を含み、前記制御手段は、前記外部端子から入力されたコマンド、またはデータを前記第１のデータ保持手段に保持可能であり、前記第１のデータ保持手段によりコマンドが保持されていない期間に前記第１のデータ保持手段に前記入力データが保持される、請求項１ないし４いずれか１つに記載の半導体記憶装置。
【請求項６】
前記第１のデータ保持手段にプログラムをするためのコマンドが保持され、当該コマンドが前記制御手段により実行された後、前記外部端子に入力された入力データが前記第１のデータ保持手段に保持される、請求項５に記載の半導体記憶装置。
【請求項７】
前記制御手段は、前記比較手段によりデータが不一致であるとき、前記保持回路に保持されたデータを前記データ保持手段に再入力する、請求項５または６に記載の半導体記憶装置。
【請求項８】
外部端子と、前記外部端子から入力された入力データを保持する第１の保持手段と、前記外部端子から入力された入力データを保持し、保持した入力データをメモリアレイにプログラム可能である第２のデータ保持手段と、前記第２のデータ保持手段に接続されたメモリアレイとを有する半導体記憶装置の入力データの検証方法であって、
前記外部端子に入力された前記入力データを前記第１のデータ保持手段に保持するステップと、
前記外部端子から前記第２のデータ保持手段に前記入力データをロードするステップと、
前記入力データをプログラムする前に、前記第２のデータ保持手段にロードされた入力データを読み出すステップと、
前記第１のデータ保持手段に保持された入力データと前記第２のデータ保持手段から読み出された入力データとを比較するステップと、
前記比較するステップの後に、前記第２のデータ保持手段にロードされた前記入力データを前記メモリアレイにプログラムするステップと、
を有する入力データの検証方法。
【請求項９】
入力データの検証方法はさらに、
前記外部端子から入力されたプログラムをするためのコマンドを前記第１のデータ保持手段に保持するステップと、
前記第１のデータ保持手段に保持された前記コマンドを実行するステップとを有し、
前記コマンドが実行された後、前記入力データを前記第１のデータ保持手段に保持するステップが実行される、請求項８に記載の入力データの検証方法。
【請求項１０】
前記ロードするステップおよび前記読み出するステップは、１つのデータ入力サイクル中に実施される、請求項８または９に記載の検証方法。
【請求項１１】
前記比較するステップは、テストモード時に行われる、請求項８に記載の検証方法。
【請求項１２】
検証方法はさらに、前記比較するステップの比較結果に基づき前記データ保持手段の故障の有無を判定するステップを含む、請求項１１に記載の検証方法。
【請求項１３】
前記ロードするステップは、入力ライン上を伝送される入力データを保持するステップを含み、前記読み出すステップは、第２のデータ保持手段から読み出されたデータを出力ライン上に伝送させる、請求項８ないし１２いずれか１つに記載の検証方法。
【請求項１４】
前記比較するステップにより入力データが不一致であるとき、前記保持するステップにより保持されたデータを前記データ保持手段に再入力するステップを含む、請求項１３に記載の検証方法。