(57)【特許請求の範囲】
【請求項１】
複数のメモリセルを含む複数のバンクを備えるメモリセルアレイと、
前記複数のバンクのデータを格納する第１レジスタと、
前記メモリセルアレイおよび前記第１レジスタを制御するシーケンス制御回路とを具備し、
前記シーケンス制御回路は、少なくとも前記メモリセルアレイのデータ読み出し動作の際に、
不良データが許容範囲か否かを示すフラグ情報を含んで前記メモリセルアレイから読み出し、
読み出した前記フラグ情報の状態を判定し、
フラグ情報があると判定された場合には、前記複数のバンクから同時に読み出されるデータが前記第１レジスタの同一のフレームに格納されるようにマッピングされる第１アドレスマッピングとは異なる、前記複数のバンクのうち同一のバンクから読み出されるデータが前記第１レジスタの同一のフレームに格納されるようにマッピングされる第２アドレスマッピングにより前記メモリセルアレイのデータを読み出す
半導体記憶装置。
【請求項２】
前記シーケンス制御回路は、フラグ情報がないと判定された場合には、前記複数のバンクから同時に読み出されるデータが前記第１レジスタの同一のフレームに格納されるようにマッピングされる前記第１アドレスマッピングにより前記メモリセルアレイのデータを読み出す
請求項１に記載の半導体記憶装置。
【請求項３】
前記フラグ情報が外部に通知される経路と、
前記メモリアレイのアクセス番地数およびデータ長を決定する少なくとも１ビット以上データを格納する第２レジスタとを更に具備する
請求項１または２に記載の半導体記憶装置。
【請求項４】
前記フラグ情報は、読み出し単位の冗長領域であって、追記方式は許可されるが、データの書き換えやデータの消去が禁止された領域にセットされる
請求項１乃至３のいずれかに記載の半導体記憶装置。
【請求項５】
前記複数のメモリセルは、複数のワード線とビット線との交差位置にそれぞれ配置され、電気的に書き換え可能な抵抗値をデータとして記憶する可変抵抗素子をそれぞれ有し、半導体基板上に三次元的に複数層に積層される
請求項１乃至４のいずれかに記載の半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
半導体記憶装置に関するものである。
【背景技術】
【０００２】
不揮発性半導体記憶装置の大容量化を実現するために、三次元的に積層された素子の抵抗変化をもって記憶する構成が提案されている。例えば、可変抵抗素子としてカルコゲナイド素子を使用したＰＣＲＡＭ（Phase Change Random Access Memory）、遷移金属酸化物を使用したＲｅＲＡＭ（Resistance Random Access Memory）などに代表される。
【０００３】
ここで、例えば、上記ＲｅＲＡＭ等のダイオードと抵抗変化によりデータを記憶する形態のクロスポイント型の不揮発性半導体記憶装置では、その製造工程中に発生する不良データに起因した歩留まり低下、利便性低下、さらには不必要な動作等による性能の劣化により読み出しエラー等が発生する傾向がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特表２００５−５２２０４５号公報
【特許文献２】特表２００６−５１４３９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
読み出しエラーの防止に有利な半導体記憶装置を提供する。
【課題を解決するための手段】
【０００６】
実施形態によれば、一態様に係る半導体記憶装置は、複数のメモリセルを含む複数のバンクを備えるメモリセルアレイと、前記複数のバンクのデータを格納する第１レジスタと、前記メモリセルアレイおよび前記第１レジスタを制御するシーケンス制御回路とを具備し、前記シーケンス制御回路は、少なくとも前記メモリセルアレイのデータ読み出し動作の際に、不良データが許容範囲か否かを示すフラグ情報を含んで前記メモリセルアレイから読み出し、読み出した前記フラグ情報の状態を判定し、フラグ情報があると判定された場合には、前記複数のバンクから同時に読み出されるデータが前記第１レジスタの同一のフレームに格納されるようにマッピングされる第１アドレスマッピングとは異なる、前記複数のバンクのうち同一のバンクから読み出されるデータが前記第１レジスタの同一のフレームに格納されるようにマッピングされる第２アドレスマッピングにより前記メモリセルアレイのデータを読み出す。
【図面の簡単な説明】
【０００７】
【図１】第１の実施形態に係る半導体記憶装置の全体構成例を示すブロック図。
【図２】図１中のバンク（Bank）の構成例を示す斜視図。
【図３】図２中のレイヤー（Layer）の構成例を示す等価回路図。
【図４】図１中のメモリコア（Memory CORE）との接続関係を示すブロック図。
【図５】図中のバンク内の構成例を示すブロック図。
【図６】図５中のローカルロウデコーダの構成例を示す等価回路図。
【図７】図５中のセンスアンプ回路の構成例を示す等価回路図。
【図８】図１中のページレジスタ回路の構成例を示すブロック図。
【図９】図８中のユニット回路の構成例を示す等価回路図。
【図１０】（ａ）は第１の実施形態に係る第１のアドレスマッピングを示す図、（ｂ）は第１の実施形態に係る第２のアドレスマッピングを示す図。
【図１１】第１の実施形態に係るデコードテーブルを示す図。
【図１２】第１の実施形態に係る半導体記憶装置のデータ読み出し動作を示すフロー図。
【図１３】第１の実施形態に係る半導体記憶装置のデータ読み出し動作を示すタイミングチャート図。
【図１４】比較例に係る半導体記憶装置のデータ読み出し動作を示すタイミングチャート図。
【図１５】第１の実施形態に係る第１のアドレスマッピング（Bank[0]が不良となっている場合）を示す図。
【図１６】第１の実施形態に係る第２のアドレスマッピング（Bank[0]が不良となっている場合）を示す図。
【図１７】第２の実施形態に係る半導体記憶装置の全体構成例を示すブロック図。
【図１８】（ａ）は第２の実施形態に係るフラグ情報の書式を示す図、（ｂ）は第２の実施形態に係るフラグ情報の書式を格納するレジスタを示す図。
【図１９】第３の実施形態に係る半導体記憶装置の全体構成例を示すブロック図。
【図２０】第３の実施形態に係るデータ読み出しサイクルを説明するための図。
【図２１】第４の実施形態に係るフラグ情報の準備を示すフロー図。
【発明を実施するための形態】
【０００８】
以下、実施形態について図面を参照して説明する。尚、この説明においては、全図にわたり共通の部分には共通の参照符号を付す。
【０００９】
［第１の実施形態］  
図１乃至図１６を用いて、第１の実施形態に係る半導体記憶装置およびそのデータ制御方法を説明する。
【００１０】
＜１．構成例＞  
１−１．全体構成例  
まず、図１を用い、第１の実施形態に係る半導体記憶装置の全体構成例について説明する。
【００１１】
図示するように、本例に係る半導体記憶装置は、メモリコア１００、ページレジスタ１１２、および周辺回路１０を備える。
【００１２】
メモリコア（Memory Core）１００は、ワード線およびビット線の交差位置にメモリセルが配置され、その複数のメモリセルが三次元的に配置された複数のバンク（Bank[0], Bank[1], …, Bank [１５]）から構成される。尚、メモリコア１００は、これに限らず、論理的に少なくとも２つに分割された複数のプレーン（Plane）を備えても良いし、バンク構成あるいはプレーンの構成は本実施形態に示した場合に限るものではない。詳細については、後述する。
【００１３】
ページレジスタ（P.R.）１１２は、ページレジスタ制御回路１１０より主にカラム番地を指示するBYTEADD信号を受け、ページレジスタ制御回路１１０にフラグ信号FLAGを出力する。詳細については、後述する。
【００１４】
周辺回路１０には、図示しないこの半導体記憶装置の外部に電気的に接続されるメモリコントローラ（Memory Contoroller）より、チップイネーブル/CEx、ライトイネーブル/WEx、リードイネーブル/REx、コマンドラッチイネーブルCLEx、アドレスラッチイネーブルALEx、ライトプロテクト/WPx、および入出力ポートIOx<7:0>、レディービジーRBx等の制御信号およびデータの出力が行われる。
【００１５】
入力バッファ（Input buffer）１０１には、上記チップイネーブル/CEx、ライトイネーブル/WEx、リードイネーブル/REx、コマンドラッチイネーブルCLEx、アドレスラッチイネーブルALEx、ライトプロテクト/WPx等の制御信号が入力される。これら入力された制御信号を用い、コマンド、アドレス、およびデータ入出力の制御が行われる。
【００１６】
入力バッファ（Input buffer）１０２には、入出力ポートIOx<7:0>が接続され、入力バッファ１０１の出力の制御を受けながら、コマンド、アドレス、入力データを装置内部の必要箇所に転送する。入出力ポートIOx<7:0>は、出力バッファ１０６−１にも接続され、データを出力する際には、この経路を使って外部に出力される。
【００１７】
コマンドデコーダ１０３は、コマンドを解釈し、必要に応じて、データの書込み、読み出し、消去その他必要な動作の開始や、内部の動作状態を決定する権限を持つ。内部の動作開始を指示信号は、コマンド信号（CMD）として、シーケンス制御回路１０７へ通知される。
【００１８】
アドレスバッファ（Address buffer）１０４は、外部より入力されたデータ書込み、消去、または読み出しのアドレスを保持する。また、アドレスバッファ１０４は、必要に応じて、カウンタ回路を構成したり、またはアドレスの比較回路を内蔵する。
【００１９】
データバッファ（Data buffer）１０５は、外部より入力された書込みデータ、消去データを一時保持する。さらに、保持されたデータは、DIN[7:0]なるバス、バスアービタおよびMDIO[7:0]なるバスを介して、ページレジスタ回路１１２に転送される。
【００２０】
出力バッファ（Output buffer）１０６−２は、この装置内部が動作中であるか否かを外部のメモリコントローラに通知するレディービジーRBxを制御するバッファ回路である。
【００２１】
シーケンス制御回路（Sequence Control）１０７は、この装置全体のデータ読み出し、書込み、消去その他内蔵するテスト動作を含めた動作を制御する制御回路である。シーケンス制御回路１０７は、シーケンス制御のために、必要に応じて、アドレス信号(ロウアドレスROWADD、カラムアドレスCOLADD)、後述するフェイルが許容数を超過したか否かを通知するHITLIMIT信号などが入力され、アレイ制御回路１０８やチャージポンプ制御回路１０９、ページレジスタ制御回路１１０、フェイルビット数比較回路１１１を直接制御する。また、シーケンス制御回路１０７が動作中であるか否かを通知するため、RB信号を出力バッファ１０６−２へ通知する。
【００２２】
アレイ制御回路（Array Control）１０８は、メモリコア１００に入力される、主にメモリセルアクセスに使われるデコードされたメインロウアドレス信号MRAD、ローカルロウアドレス信号LRAD、サイクルアドレスCOLADを出力する。これらは、アドレスバッファ１０４が出力するロウアドレスROWADD、カラムアドレスCOLADDからつくられる。
【００２３】
チャージポンプ制御回路（Pump Contorl）１０９は、必要に応じて必要タイミングで昇圧回路動作を制御する手段を持つ。なお、本構成は必須ではない。
【００２４】
ページレジスタ制御回路（P.R. Control）１１０は、主にカラム番地を指示するBYTEADD信号を出力する。
【００２５】
フェイルビット数比較回路１１１は、とくにデータ書込みや消去ベリファイ時、あるいはテスト時に特定領域にフェイルビットの存在数を計測し、また許容されるフェイルビット数との比較手段を有し、その比較結果をHITLIMITなる信号線にてシーケンス制御回路１０７へ通知する。また、その計数結果は、装置外部に出力できるようにSTATUS信号にて出力バッファ１０６−１へも同時に通知される。
【００２６】
１−２．バンクの構成例  
次に、図２を用い、バンク（Bank）の構成例について説明する。ここでは、Bank [0]を一例に挙げる。
【００２７】
図示するように、Bank [0]は、半導体基板（Si-sub）の基板面垂直方向に複数層配置される複数のレイヤー（Layer(1)〜Layer(4)）、およびレイヤー下に配置され半導体基板の表面領域に配置されるビット線ドライバＢＤ等を備える。
【００２８】
複数のレイヤー（Layer(1)〜Layer(4)）は、列選択線であるワード線ＷＬおよび行選択線であるビット線ＢＬの交差位置にマトリクス状に配置される複数のメモリセル（memory cell）を備える。ビット線ＢＬの一端は、半導体基板（Si-sub）上のビット線コンタクトＢＣを介して、センスアンプ回路ＢＤに電気的に接続される。ワード線ＷＬの一端は、半導体基（Si-sub）上のワード線コンタクトＷＣを介して、ローカルロウデコーダＷＤに電気的に接続される。
【００２９】
レイヤー（Layer(1)〜Layer(4)）下の半導体基板の表面領域には、書き込みデータを一時保持するレジスタ回路１１２を含む各種論理回路等が配置されても良い。他のバンクについても、Bank [0]と実質的に同様の構成である。
【００３０】
尚、ここでは、特に図示せぬが、製造工程中に偶発的に発生する欠陥もしくは装置使用中の長期信頼性低下等に起因する欠陥により、不良メモリが発生する場合がある。この場合には、バンク全体のメモリセル全体のデータ読み出しに支障を来たす場合がある。詳細については、後述する。
【００３１】
１−３．レイヤー（Layer）の構成例  
次に、図３を用い、各レイヤー（Layer）の構成例について説明する。ここでは、Layer(1)を一例に挙げる。
【００３２】
図示するように、レイヤー１（Layer(1)）には、複数のメモリセル（Ｍ００〜Ｍ２３）が配置される。ここでは、ビット線４本およびワード線３本の計１２セルを例として記載してある。
【００３３】
本例に係る複数のメモリセル（Ｍ００〜Ｍ２３）のそれぞれは、電気的に書き換え可能な抵抗値をデータとして不揮発に記憶する可変抵抗素子３３と、ダイオード３４とにより構成される。  
可変抵抗素子３３の電流経路の一端は、複数のワード線（ＷＬ〜ＷＬｎ＋２）のいずれかに接続され、他端はノードｎ００〜ｎ２３を介してダイオード３４のカソードに接続される。可変抵抗素子３３は、例えば、遷移金属酸化物等を含んで形成される。  
ダイオード３４のアノードは、複数のビット線（ＢＬｎ−１〜ＢＬｎ＋２）のいずれかに接続される。
【００３４】
尚、メモリセルの構成は、本例に示す形態に限らない。例えば、ダイオード３４のワード線とビット線との接続関係を逆転させてもよい。即ち、ダイオード３４のアノードはノードｎ０１を介して可変抵抗素子３３の電流経路の他端に接続され、カソードはビット線ＢＬｎに接続される。さらには、ダイオードと可変抵抗素子の接続関係を逆転させて、ビット線とダイオードのアノード間に可変抵抗を接続してもよい。  
例えば、ダイオードに代わって、スイッチトランジスタを配置してもよい。即ち、スイッチトランジスタの電流経路の一端はノードｎ０１を介して可変抵抗素子３３の他端に接続され、電流経路の他端はビット線ＢＬｎに接続され、ゲートには制御信号が入力され、電流経路の導通状態が制御される。
【００３５】
１−４．接続関係について  
次に、図４を用い、バンクを複数配置してなるメモリコア１００、ページレジスタ回路１１２、および周辺回路１０の接続関係について説明する。
【００３６】
図示するように、それぞれのバンク（Bank[0]〜Bank[15]）１００−１は、本例では、メモリコア１００に、計１６個配置される。勿論、この個数は本形態に限るものではなく、最適個数を配置すればよい。また本例では、データバスPRD0[7:0]にはBank[0]とBank[8]とが接続されるが、さらに多数配置してもよい。またデータバスは計8組(PRD0[7:0]からPRD7[7:0])を配置したが、最適組数を準備すればよく、本形態に限るものではない。
【００３７】
１−５．Bank内の構成について  
次に、図５を用い、Bank内の構成について説明する。
【００３８】
図示するように、Bank１００−１内は、上記に説明したセルアレイ２００、ローカルロウデコーダ２０１、センスアンプ回路２０２を備える。
【００３９】
セルアレイ２００は、上記のように複数のワード線ＷＬとビット線ＢＬとの交差位置に配置されるメモリセルを備える。
【００４０】
ローカルロウデコーダ（Row Subdec）２０１は、アレイ制御回路１０８より入力されるMRAD信号、LRAD信号を受けて、必要ワード線ＷＬに選択電位ならびに非選択電位を与える。
【００４１】
センスアンプ回路（S/A）２０２は、アレイ制御回路１０８より入力されるCOLAD信号を受けて、同様にビット線ＢＬに選択電位ならびに非選択電位を与える。センスアンプ回路２０２は、さらに、セルアレイ２００の読み出しデータ、書込みデータ、消去ベリファイ時にはビット線ＢＬの電位を検知して、メモリセルのデータ状態を判別する。また、センスアンプ回路２０２から出力される書込み消去データ、読み出しデータ等は、データバスPRD0[7:0]なるバスにより、ページレジスタ１１２へ入出力される。
【００４２】
１−６．ローカルロウデコーダ  
次に、図６を用い、図５中の上記ローカルロウデコーダ２０１ついて説明する。
【００４３】
ローカルロウデコーダ２０１は、メインロウアドレスの１本MRAD<i>とローカルロウアドレスの１本LRAD<j>から1本のワード線WL<ij>に必要電位を与えるための回路である。
【００４４】
図示するように、本例に係るローカルロウデコーダ２０１は、複数のバッファ回路２０１−１、電位転送トランジスタ２０１−２、２０１−３から構成される。
【００４５】
複数のバッファ回路２０１−１は、入力がメインロウアドレスMRAD<i>に接続され、出力が電位転送トランジスタ２０１−２のゲート電極に接続される。
【００４６】
電位転送トランジスタ２０１−２の電流経路の一端は基準電圧VROWに接続され、他端はワード線WL<ij>に接続される。
【００４７】
電位転送トランジスタ２０１−３の電流経路の一端はローカルロウアドレスLRAD<j>に接続され、他端はワード線WL<ij>に接続され、ゲート電極は複数のバッファ回路２０１−１のうちの先頭のバッファ回路の入力に接続される。
【００４８】
上記構成において、当該ワード線WL<ij>が選択時はLocalMRAD<i>が”Ｈ”レベルになりLRAD<j>の電位が転送される。非選択状態時にはLocalMRADn<i>が”Ｈ”レベルになり、非選択電位（生成回路ならびに接続関係については図示せず）VROWと接続される。尚、構成は、本形態に限るものではなく、必要電位が所定のワード線に与えることができれば良い。
【００４９】
１−７．センスアンプ回路  
次に、図７を用い、図５中の上記センスアンプ回路２０２の内部構成例について説明する。
【００５０】
センスアンプ回路２０２は、１本のサイクルアドレスCOLAD<m>とローカルサイクルアドレス信号LCOL<n>から１本のビット線ＢＬ<mn>に必要電位を与えるための回路である。
【００５１】
図示するように、本例に係るセンスアンプ回路２０２は、センス回路２０２−１、ライトバッファ回路２０２−２、バッファ回路２０２−３、および電位転送トランジスタ２０２−４、２０２−５を備える。
【００５２】
センス（Sense）回路２０２−１は、読み出し時（Read）にスイッチがオンとされ、参照電圧refとの電圧を比較し、メモリセルの状態を検知する。
【００５３】
ライトバッファ回路２０２−２は、書込み時（Write）や消去時（Reset）に、スイッチがオンとされ、データを出力する。
【００５４】
バッファ回路２０２−３は、サイクルアドレスCOLAD<m>を受け、出力LocalCSLn<m>を電位転送トランジスタ２０２−４のゲート電極に与える。
【００５５】
電位転送トランジスタ２０２−５の電流経路の一端はライトバッファ回路２０２−２の出力LCOL<n>に接続され、他端はビット線ＢＬ<mn>に電気的に接続される。
【００５６】
電位転送トランジスタ２０２−４の電流経路の一端はビット線ＢＬ<mn>に接続され、他端は図示せぬが、非選択時にビット線BLに供給する電位VUBLに接続され、ゲート電極はバッファ回路２０２−３の出力LocalCSLn<m>に接続される。
【００５７】
上記の構成において、センス回路２０２−１とライトバッファ回路２０２−２は、データ書込み時（Write）、消去時（Reset）、読み出し時（Read）では排他的に接続されるスイッチ回路に接続される。図示する構成では、データ読み出し時（Read）を示し、信号Readによりスイッチがセンス回路２０２−１に接続されている状態となっている。尚、センスアンプ回路２０２の内部構成においても本形態に限るものではなく、必要電位が所定のビット線に与えられれば良い。
【００５８】
１−８．ページレジスタ回路  
次に、図８を用い、本例に係るページレジスタ回路１１２について説明する。  
図示するように、本例に係るページレジスタ回路１１２は、８ブロックのユニット回路１１２−１〜１１２−８、およびフェイルカウンタ１１２−９を備える。
【００５９】
ユニット回路１１２−１〜１１２−８の入力は、ページレジスタ制御回路１１０より入力されるバイトアドレスBYTEADDおよびPeripheral circuit １０より入力されるバスMDIO[7:0]にそれぞれ接続される。ユニット回路１１２−１〜１１２−８の出力は、データバスPRD0[7:0]〜PRD7[7:0]が各バンク（Bank）にそれぞれ接続される。また、特定ユニット(本例では、ユニット回路１１２−８)からFLAG信号がページレジスタ制御回路１１０に出力される。
【００６０】
フェイルビット数計数回路１１２−９は、各ユニット回路１１２−１〜１１２−８からのデータ出力を受けて、ベリファイフェイル数の計数、累積の機能、ならびにテスト時には特定データ状態にあるメモリセルが幾つ存在するかを計算する。そして、フェイルビット数計数回路１１２−９の出力Nfailは、その計数結果を比較回路（Fail number compare）１１１に通知する。
【００６１】
１−９．ユニット回路  
次に、図９を用い、ユニット回路の構成について説明する。ここでは、ユニット回路１１２−１を一例に挙げる。
【００６２】
図示するように、ユニット回路１１２−１は、バスMDIO[i]とPRD0[i](iはバス番号)がスイッチ回路１１２−１０とスイッチ回路１１２−１１とを介して接続され、その間に複数のレジスタ１１２−１２が接続され、さらにそのレジスタ１１２−１２を選択するバイトアドレスデコーダ回路１１２−１３が接続される。
【００６３】
スイッチ回路（SW回路）１１２−１０は、入力および出力が互いに接続されラッチ接続されるインバータＩＮ１０−１，ＩＮ１０−２により構成される。インバータＩＮ１０−１の制御端子にはWriteIn信号が与えられ、インバータＩＮ１０−２の制御端子にはReadOut信号が与えられる。
【００６４】
スイッチ回路（SW回路）１１２−１１は、入力および出力が互いに接続されラッチ接続されるインバータＩＮ１１−１，ＩＮ１１−２により構成される。インバータＩＮ１１−１の制御端子にはWrite信号が与えられ、インバータＩＮ１１−２の制御端子にはRead信号が与えられる。読み出し時において、スイッチ回路（SW回路）１１２−１１の出力は上記Fail Counter１１２−９に接続される。
【００６５】
レジスタ（Register）１１２−１２は、スイッチ回路１１２−１０の出力とスイッチ回路１１２−１１の入力との間に接続され、バイトアドレスデコーダ回路１１２−１３により出力が選択される。
【００６６】
バイトアドレスデコーダ回路（Byte Address Decorder）１１２−１３は、入力がページレジスタ制御回路１１０より入力されるバイトアドレスBYTEADDに接続され、出力によりレジスタ１１２−１２を選択する。
【００６７】
上記構成において、各スイッチ回路１１２−１０、１１２−１１は、データの方向を決定する役割を持ち、読み出し時には出力PRD0[i]を、IBUS[i]に接続して、レジスタ１１２−１２にデータを転送する。ユニット回路１１２−１は、データ書込み時や消去時には、データを各バンクへ転送する。この制御は図示せぬWrite信号とRead信号にて行う。また書込みデータ入力時は、バスMDIO[i]からの入力データをレジスタ１１２−１２に接続するため、Writein信号を活性化してMDIO[i]をIBUS[i]に接続する。データ出力時は逆にReadOut信号を活性化してIBUS[i]をMDIO[i]に接続する。通常レジスタ１１２−１２は複数個接続され、その選択は入力されるバイトアドレスBYTEADDによって制御される。
【００６８】
また、図8の一部のユニットから出力されるFLAG信号はレジスタ112-12から出力され、読み出し結果をMDIOなどを介さず直接出力できるように構成する。もちろん、MDIOを介して出力する形態であってもかまわない。
【００６９】
１−１０．アドレスマッピングについて  
次に、図１０を用い、本例に係る読み出しデータのアドレスマッピングついて説明する。図１０（ａ），（ｂ）に示すように、本例では、冗長領域をもつ１ページ（1Page:(32+1)Byte）のデータ構成を一例に挙げる。冗長領域には、１バイトのフラグ情報（FLAGと称する）が格納される。
【００７０】
ここで、本例のように、通常抵抗値をデータとして記憶する半導体記憶装置においては、その電流による発熱や電位降下を回避するため、上記複数のバンク（Bank[0]- Bank[15]）を同時に活性化し、各バンクから均等にデータを収集する。さらに、同一バンクからは複数回異なるアドレスからデータを読み出し、ページデータを収集する形態をとることが多い。そのため、本例では、Bank[0]からBank[7]の計８バンクを同時に活性化し、かつ８バンク読み出しを４回行って、３２バイト（Byte）の１ページデータを確保する形態を一例に挙げる。
【００７１】
尚、ここでは、図示を省略するが、データ読み出し動作中には、装置は外部より読み出しコマンドを与えられ、シーケンス制御回路１０７がビジー信号を装置外部に通知する。より具体的には、レディービジーピンRBxが”Ｌ”出力となって、装置が動作中であることを外部に通知する。
【００７２】
図１０（ａ）は、（不良データが許容範囲内でフラグ情報FLAGが検出されない場合）第１のアドレスマッピングの場合を示す。図示するように、第１のアドレスマッピングでは、32バイトのデータは、時刻１(読み出し順序１)の際にBank[0]からBank [7]まで８Byte同時にデータを読み出し、これをレジスタ１１２−１２の番地０から番地７へ格納する（以後、この８Byteを一単位として「フレーム」と称する）。同様に、時刻２(読み出し順序２)の際に、時刻１とは異なるアドレスのBank [0]からBank [7]まで８Byte同時にデータを読み出し、レジスタ１１２−１２の番地８から番地１５へ格納する。時刻３(読み出し順序３)でも時刻１、時刻２と異なるアドレスのBank [0]からBank [7]よりデータを順次読み出し、レジスタ回路１１２−１２の番地１６から番地２３に格納する。時刻４(読み出し順序４)の際では、時刻１から時刻３とも異なるアドレスのBank [0]からBank [7]よりデータを読み出して、レジスタ回路１１２−１２の番地２４から番地３１に格納する。この時刻４(読み出し順序４)の時点で、１ページのデータを全て収集できたことになる。収集が完了したら、図示せぬシーケンス制御回路１０７がレディーを、外部に通知してデータ出力許可状態となったことを示す。
【００７３】
図１０（ｂ）は、（不良データが許容範囲を超えてフラグ情報FLAGが検出される場合）第２のアドレスマッピングの場合を示す。図示するように、本実施形態では、上記第１のアドレスマッピングとは異なる第２のアドレスマッピングによりマッピングされたアドレス順序でデータを読み出すことが可能なように構成されている。第２のアドレスマッピングは、最初に読み出されるバンク（本例では、Bank[0]）起源のデータが、第１フレームに集中してマッピングされる。仮に、不良データが最初のバンク(Bank[0])に集中して発生した場合、これを第１フレームに集中させることにより、その他の第２乃至第４フレームを読み出し可能に救済させることを可能にするものである。勿論、マッピングの仕方は、本例に限るものではなく、適宜必要に応じて選択可能である。
【００７４】
第２のアドレスマッピングでは、時刻１(読み出し順序１)の際では、順次Bank[0]からBank [7]よりデータを読み出すが、レジスタ１１２−１２の番地0、4、8、12、16、20、24、28にそれぞれ格納する。同様に、時刻２(読み出し順序２)の際では、レジスタ１１２−１２の番地1、5、9、13、17、21、25、29に格納する。続いて、時刻３(読み出し順序３)の際では、レジスタ１１２−１２の番地2、6、10、14、18、22、26、30にそれぞれ格納する。続いて、時刻３（読み出し順序３）の際では、レジスタ１１２−１２の番地3、7、11、15、19、23、27、31にそれぞれ格納する。読み出しデータの収集が完了したら、第１のアドレスマッピングのときと同様、シーケンス制御回路１０７がレディーを通知してデータ出力許可状態となったことを外部に示す。
【００７５】
上記において、（ａ）に示す第１のアドレスマッピングを採用するか、（ｂ）に示す第２のアドレスマッピングを採用するか否かの切り替えは、データ読み出し動作に先立って読み出されるフラグデータFLAGの状態によって判断される。本例では、このフラグデータFLAGを不揮発に保持するために、１ページに冗長領域として１バイト確保される。
【００７６】
例えば、フラグデータFLAGが消去状態（”０”状態）であった場合、第１のアドレスマッピングを採用してデータ読み出し動作を行う。一方、フラグデータFLAGが書込み状態（”１”状態）であった場合、第２のアドレスマッピングを採用してデータ読み出しを行う。このフラグバイト（FLAG）は内部処理のためのデータバイトであるため、ユーザが装置外部から直接データの書き換えができないように構成することが好ましい。  
詳細については、後述する。ただし第一のアドレスマッピング、第二のアドレスマッピングいずれの場合でも記憶装置外部にデータを読み出す場合の順序(ユーザアドレス)は不変である。
【００７７】
１−１１．デコードテーブル  
次に、図１１を用い、本例に係るデコードテーブルついて説明する。
【００７８】
上記第１のアドレスマッピングと第２のアドレスマッピングとを実現するために、バイトアドレスBYTEADD信号のデコードテーブルは、図示するように示される。
【００７９】
このテーブルを実現するのは、上記図１中のページレジスタ制御回路１１０およびアレイ制御回路１０８である。  
より具体的には、ページレジスタ制御回路１１０およびアレイ制御回路１０８は、ページレジスタ回路１１２が出力するFLAG信号の状態により、メモリコア１００へ与えるサイクルアドレスCOLADを変更させ、ページレジスタ１１２内のレジスタ１１２−１２への格納順序を変更させる。
【００８０】
＜２．データ制御動作＞  
２−１．マッピングされたデータ読み出し動作  
次に、図１２乃至図１６を用い、第１の実施形態に係る半導体記憶装置のマッピングされたデータ読み出し動作について説明する。この説明では、図１２に示すフローに沿って説明する。
【００８１】
（ステップＳ０）  
ここでは図示を省略するが、このデータ読み出し動作に先立って、半導体記憶装置に接続される制御装置（メモリコントローラ）より、読み出しアドレスおよび読み出し開始コマンドを取り込み、データ読み出し動作が開始される。
【００８２】
（ステップＳ２００（フラグ情報の読み出し））  
まず、シーケンス制御回路１０７は、１ページデータのうち、冗長領域（Col(BYTEADD)=32）のフラグ情報FLAGのみをメモリコア１００より読み出す。尚、フラグ情報FLAGは、本例では、バンク[7]に属することとしているが、別途独立してバンクを設けてもよい。上記第１のアドレスマッピングか、第２のアドレスマッピングのいずれを採用するかが判断できれば良い。
【００８３】
（ステップＳ２０１（フラグ情報の判定））  
続いて、シーケンス制御回路１０７は、上記読み出した冗長領域（Col(BYTEADD)=32）のフラグ情報FLAGの状態を判定する。
【００８４】
例えば、フラグ情報がないと判定（FLAG=”０”状態：消去状態）された場合（No）、上記第１のアドレスマッピングを採用して、後述するステップＳ２０６からステップＳ２０９までを実行してページデータを収集する。
【００８５】
一方、フラグ情報があると判定（FLAG=”１”状態：セット状態）された場合（Yes）、上記第２のアドレスマッピングを採用し、後述するステップＳ２０２からＳ２０５を実行して、ページデータを収集する。
【００８６】
（ステップＳ２０２）  
続いて、フラグ情報があると判定（FLAG=”１”状態：セット状態）された場合（Yes）、シーケンス制御回路１０７は、上記第２のアドレスマッピングを採用するため、Bank[0]からBank[7]までの８バイトのデータをレジスタ１１２−１２のCol(BYTEADD)=0,4,8,12,16,20,24,28に同時に読み出す。
【００８７】
（ステップＳ２０３）  
続いて、シーケンス制御回路１０７は、同様に、上記第２のアドレスマッピングを採用するため、ステップＳ２０２と異なるアドレスのBank [0]からBank [7]までの８バイトのデータをレジスタ１１２−１２のCol(BYTEADD)=1,5,9,13,17,21,25,29に同時に読み出す。
【００８８】
（ステップＳ２０４）  
続いて、シーケンス制御回路１０７は、同様に、ステップＳ２０２，Ｓ２０３と異なるアドレスのBank [0]からBank [7]までの８バイトのデータをレジスタ１１２−１２のCol(BYTEADD)=2,6,10,14,18,22,26,30に同時に読み出す。
【００８９】
（ステップＳ２０５）  
続いて、シーケンス制御回路１０７は、同様に、ステップＳ２０２−Ｓ２０４と異なるアドレスのBank [0]からBank [7]までの８バイトのデータをレジスタ１１２−１２のCol(BYTEADD)=3,7,11,15,19,23,27,31に同時に読み出し、１ページ分のデータを読み出してこの動作を終了する（End）。
【００９０】
（ステップＳ２０６）  
続いて、フラグ情報がないと判定（FLAG=”０”状態：消去状態）された場合（No）、シーケンス制御回路１０７は、上記第１のアドレスマッピングを採用するため、Bank[0]からBank [7]までの８バイトのデータをレジスタ１１２−１２のCol(BYTEADD)=0,1,2,3,4,5,6,7に同時に読み出す。
【００９１】
（ステップＳ２０７）  
続いて、シーケンス制御回路１０７は、同様に、上記第１のアドレスマッピングを採用するため、ステップＳ２０６と異なるBank[0]からBank [7]までの８バイトのデータをレジスタ１１２−１２のCol(BYTEADD)=8,9,10,11,12,13,14,15に同時に読み出す。
【００９２】
（ステップＳ２０８）  
続いて、シーケンス制御回路１０７は、同様に、ステップＳ２０６，Ｓ２０７と異なるBank[0]からBank [7]までの８バイトのデータをレジスタ１１２−１２のCol(BYTEADD)=16,17,18,19,20,21,22,23に同時に読み出す。
【００９３】
（ステップＳ２０９）  
続いて、シーケンス制御回路１０７は、同様に、ステップＳ２０６−Ｓ２０８と異なるBank[0]からBank [7]までの８バイトのデータをレジスタ１１２−１２のCol(BYTEADD)=24,25,26,27,28,29,30,31に同時に読み出し、１ページ分のデータを読み出してこの動作を終了する（End）。
【００９４】
２−２−１．シーケンス（本例の場合）  
次に、図１３を用い、第１の実施形態に係る半導体記憶装置の上記データ読み出し動作のシーケンスについて説明する。図１３は第１の実施形態に係る上記データ読み出し動作のシーケンスである。
【００９５】
図１３に示すように、まず、時刻０の際に、レディビジィ信号RBxが”Ｈ”状態で、外部のメモリコントローラ（図示せず）から入力される読み出し開始コマンドCmdをＩ／Ｏピンから取り込むと、シーケンス制御回路１０７は、idle状態からデータ読み出し動作を開始する。
【００９６】
続いて、時刻ｔ１の際、レディビジィ信号RBxが”Ｌ”状態となると、シーケンス制御回路１０７は、まずフラグ情報FLAGの読み出しを開始する。
【００９７】
続いて、時刻ｔ２の際、レディビジィ信号RBxが”Ｌ”状態で、シーケンス制御回路１０７は、フラグ情報FLAGの有無を判定する。ここでは、フラグ情報FLAGが有る場合（FLAG=”１”case）を一例に挙げるため、上記第２のアドレスマッピングを採用する。
【００９８】
続いて、時刻ｔ３の際、レディビジィ信号RBxが”Ｌ”状態で、シーケンス制御回路１０７は、Bank[0]からBank [7]までの８バイトのデータを同時に読み出し、ページレジスタ（P.R.）１１２の中のバッファのCol(BYTEADD)=0,4,8,12,16,20,28に格納させることを開始する。
【００９９】
続いて、時刻ｔ４の際、レディビジィ信号RBxが”Ｌ”状態で、シーケンス制御回路１０７は、時刻ｔ３と異なるBank[0]からBank [7]までの８バイトのデータを同時に読み出し、ページレジスタ（P.R.）１１２の中のバッファのCol(BYTEADD)=1,5,9,13,17,21,25,29に格納させることを開始する。
【０１００】
続いて、時刻ｔ５の際、レディビジィ信号RBxが”Ｌ”状態で、シーケンス制御回路１０７は、時刻ｔ３，ｔ４と異なるBank[0]からBank [7]までの８バイトのデータを同時に読み出し、ページレジスタ（P.R.）１１２の中のバッファのCol(BYTEADD)=2,6,10,14,18,22,26,30に格納させることを開始する。
【０１０１】
続いて、時刻ｔ６の際、レディビジィ信号RBxが”Ｌ”状態で、シーケンス制御回路１０７は、時刻ｔ３−ｔ５と異なるBank[0]からBank [7]までの８バイトのデータを同時に読み出し、ページレジスタ（P.R.）１１２の中のバッファのCol(BYTEADD)=3,7,11,15,19,23,27,31に格納させることを開始する。
【０１０２】
続いて、時刻ｔ７の際、１ページ分のデータが格納されると（全Byte Data Ready）、レディビジィ信号RBxが”Ｈ”状態となり、シーケンス制御回路１０７は、idle状態に戻る。
【０１０３】
２−２−２．シーケンス（比較例の場合）  
次に、図１４を用い、比較例に係る半導体記憶装置のデータ読み出し動作のシーケンスについて説明する。図１４は第１の実施形態と比較するための比較例に係るデータ読み出し動作のシーケンスである。  
図示するように、比較例では、第１の実施形態のように第１、第２のアドレスマッピングやフラブ情報を有さず、フラグ情報の読み出し（Flag Read）やフラグ情報の有無の判断（Judge）がされることがない点で、上記第１の実施形態と相違する。そのため、比較例では、１ページの３２バイトのデータ（Col(BYTEADD)=0,1,2,,,31）を8Byteずつ順次、単純に読み出し、ページレジスタ（P.R.）に格納させる。
【０１０４】
＜３．作用効果＞  
上記第１の実施形態に係る半導体記憶装置およびそのデータ制御方法によれば、少なくとも下記（１）乃至（２）の効果が得られる。
【０１０５】
（１）読み出しエラーを防止できる。  
上記のように、本例に係る半導体記憶装置は、１Page（読み出し単位）の冗長領域に不良データが許容範囲か否かを示すフラグ情報FLAGを有する。そして、データ読み出し動作の際には、まずシーケンス制御回路１０７は、上記冗長領域（Col(BYTEADD)=32）のフラグ情報FLAGを含んで読み出す（Ｓ２００）。続いて、シーケンス制御回路１０７は、上記読み出した冗長領域（Col(BYTEADD)=32）のフラグ情報FLAGの状態を判定する（Ｓ２０１）。続いて、フラグ情報があると判定（FLAG=”１”状態）された場合には、上記第２のアドレスマッピングを採用し、後述するステップＳ２０２からＳ２０５を実行して、ページデータを収集する。
【０１０６】
ここで、本例の第２のアドレスマッピングでは、最初に読み出されるバンク（本例では、Bank[0]）起源のデータが、第１フレームに集中してマッピングされる。そのため、本例のように製造工程中に発生もしくは長期使用中等に発生した故障による不良データが最初のバンク（Bank[0]）に発生することが多い場合、これを第１フレームに集中させることにより、その他の第２乃至第４フレームを読み出し可能にして救済することができる。
【０１０７】
より具体的に、例えば、製造工程中に発生もしくは長期使用中等に発生した故障による不良データが最初のバンク（Bank[0]）に発生した場合の読み出し結果を第一のアドレスマッピングで表すと図１５のように示される。図中の×で示すように、この場合では、第１乃至第４フレームのそれぞれに最初のバンク（Bank[0]）に発生した不良データ（Col(BYTEADD)=0,8,16,24）が存在する。そのため、このままのアドレスマッピングでは、仮にECCの訂正単位が8Byteと仮定したとき、第１乃至第４フレームのそれぞれにエラー訂正が必要となってエラー訂正回路の負担が増大し、利便性が低減し、１ページ全てが読み出せない（読み出しエラー）となるおそれもある。
【０１０８】
そこで、本例に係る第２のアドレスマッピングを採用した場合には、図１６のように示される。図示するように、第２のアドレスマッピングは、Bank[0]起源のデータが、第１フレームに集中してマッピングされる（第１フレーム：Col(BYTEADD)= 0-7）。そのため、図中の×で示すように、第１フレームに不良データ（Col(BYTEADD)=0-3）が集中してマッピングできる結果、第２乃至第４フレームにはエラー訂正が不要となってエラー訂正回路の負担を低減でき、利便性を向上でき、第２乃至第４フレームを救済できる。従って、１ページ全てが読み出せない（読み出しエラー）となるおそれもない点で有利である。
【０１０９】
例えば、本例のような三次元積層したクロスポイント型の不揮発性半導体記憶装置の場合、固有のダイオードの形成不良などによるクロスポイントフェイルによる支障を排除することができる点で有益である。
【０１１０】
（２）歩留り低下を防止できる。  
上記のように、本例によれば、製造工程中に不良データが発生しても、不良データに起因して歩留まりが低下することを防止できる。また、エラー訂正などの不必要な動作等も不要となるため、これによる性能低下を防止できる。加えて、複雑な構成を新たに加える必要もなく、フラグ情報FLAGを冗長領域に書き込めば良い点で、製造コストの低減に有利であるとも言える。
【０１１１】
尚、フラブ情報FLAGを冗長領域にセットする具体的な例については、後述（第４の実施形態）する。
【０１１２】
また、本例では、データ読み出し動作を一例に挙げて説明したが、１ページがデータ書き込み単位およびデータ消去単位でもある場合には、その他の動作、データ書き込み動作およびデータ消去動作の際でも同様に適用でき、同様の効果を得ることが可能である。
【０１１３】
［第２の実施形態（フラグ情報を外部に通知する一例）］  
次に、図１７および図１８を用い、第２の実施形態に係る半導体記憶装置およびそのデータ制御方法について説明する。この実施形態は、ページを構成するデータ群に複数の冗長領域を設け、フラグ情報FLAGを外部に通知する経路を有する一例に関するものである。この説明において、上記第１の実施形態と重複する部分の詳細な説明を省略する。
【０１１４】
上記第１の実施形態では、読み出すページを構成する８バンクのうち少なくとも１バンクが欠陥により読み出しできなくなった場合に、冗長領域のフラグ情報FLAGの状態によって、データを読み出す順序を変更する。ここで、フラグ情報FLAGは、半導体記憶装置の内部の処理目的でのみ構成される。そのため、半導体記憶装置の外部のユーザ、具体的には制御装置（メモリコントローラ）からは、このフラグ領域FLAGの状態を検知する経路が無い。そこで、この第２の実施形態では、上記の点を考慮して構成するものある。
【０１１５】
＜構成例＞  
全体構成例  
まず、図１７を用い、第２の実施形態に係る半導体記憶装置の全体構成例について説明する。  
図示するように、本例に係る半導体記憶装置は、フラグ情報FLAGが、出力バッファ１０６−１を介して、ＩＯｘ<7:0>に電気的に接続される経路を備える点で、上記第１の実施形態と相違する。そのため、図示せぬコマンド信号が入力されると、データバスDOUT[7:0]、ステータス信号STATUS、およびフラグ情報FLAGのいずれかを、外部へ出力することができる。これにより、フラグ情報FLAGの状態（”１”状態or”０”状態）を装置外部に通知することができる。
【０１１６】
フラグ情報の書式  
次に、図１８を用い、第２の実施形態に係るフラグ情報FLAGが格納される書式について説明する。前記第１実施形態では、フラグ情報FLAGの書式について特に定めていなかったが、本実施形態では、たとえば、図１８（ａ）に示すように、フラグ情報FLAGを1バイトとして、そのなかの8ビットをさらに固有の情報を記憶するように構成する点で、第１の実施形態と相違する。
【０１１７】
そのため、図１８（ｂ）に示すように、本例に係るフラグ情報FLAGは、対応するページレジスタ１１２内の上記レジスタ１１２−１２内に、それぞれ異なる第１乃至第８の領域に独立して、８個のフェイルフラグとして区別して認識されるように格納される点で、第１の実施形態と相違する。
【０１１８】
第１乃至第８の領域の各フェイルフラグは、バンクに一対一対応するものである。  
例えば、第１の領域のフェイルフラグは、バンク[0]の故障（不良データ）の有無を指示する。以下同様に、第２乃至第８の領域のフェイルフラグは、バンク[1]〜バンク[7]の故障の有無を指示する。
【０１１９】
ここで、上記第１の実施形態に係るフェイルフラグは、これら８領域のフェイルフラグのＯＲ情報で構成され、いずれか一箇所でフェイルフラグが成立している場合は第２のアドレスマッピングで動作を行い、成立していない場合は第１のアドレスマッピングで動作をさせる。
【０１２０】
一方、この第２の実施形態では、各バンクのフェイルフラグ情報FLAGを独立して格納させる。これは、フェイルフラグ情報FLAGを装置外部に出力し、第２のアドレスマッピングを使用するためには、図示しない外部の制御装置（メモリコントローラ）が、どのＥＣＣフレームにフェイルデータが集中するかをこのフラグ情報FLAGに基づき予め認識するためである。これにより、フラグ情報FLAGに基づき、そのデータ書き込み、データ消去、データ読み出しに必要なデータの管理を行うことが可能となる。
【０１２１】
より具体的には、例えば、不良が集中するフレームのデータ読み出し結果にあっては、ブランクデータとして認識する、書込み時には当該フレームには有効データを付与しない等のデータ管理の手段を提供することが可能となる。
【０１２２】
このように、本例によれば、ページを構成するデータ群に複数の冗長領域を設け、フラグ情報FLAGを外部に通知することができる。
【０１２３】
＜作用効果＞  
上記のように、第２の実施形態に係る半導体記憶装置およびそのデータ制御方法によれば、少なくとも上記（１）乃至（２）と同様の効果が得られる。さらに、本例によれば、下記（３）に示す効果が得られる。
【０１２４】
（３）フラグ情報FLAGを外部に通知することができ、利便性を向上できる。  
上記図１８に示したように、本例に係る構成によれば、ページを構成するデータ群に複数の冗長領域を設けることにより、フラグ情報FLAGを装置の外部に通知することができる。  
そのため、半導体記憶装置の外部のユーザ（具体的には制御装置（メモリコントローラ））から、フラグ領域FLAGの状態を検知することができ、利便性を向上できる点で、有利である。
【０１２５】
［第３の実施形態（更に読み出しデータ長を決定する一例）］  
次に、図１９および図２０を用い、第３の実施形態に係る半導体記憶装置およびそのデータ制御方法について説明する。この実施形態は、ページを構成するデータ群に複数の冗長領域を設ける形態であって、更に読み出しデータ長を決定する一例に関するものである。この説明において、上記第２の実施形態と重複する部分の詳細な説明を省略する。
【０１２６】
＜構成例＞  
図１９を用い、本例に係る半導体記憶装置の全体構成例について説明する。本例は、上記第２の実施形態のさらなる変形として、ページを構成するデータ群に複数の冗長領域を設ける形態であって、更に読み出しデータ長を決定する。
【０１２７】
そのため、図示するように、本例ではレジスタ回路１１３を更に備える点で、上記第２の実施形態と相違する。
【０１２８】
レジスタ回路１１３は、半導体記憶装置の外部のメモリコントローラ等からのコマンドやデータ付与により、その内容を書き替えることができる揮発性記憶回路から構成される。レジスタ回路１１３の入力は入力バッファ１０１の出力に接続され、出力はアドレスバッファ１０４に接続される。
【０１２９】
本例では、１ページ（読み出し単位）で３２バイトを、４つの異なるサイクルで読み出すことから、１サイクルは８バイトである。そのため、この８バイトを１単位として、読み出しデータ長を変更すると仮定すると、レジスタ回路１１３に２ビットを格納することで、その格納したデータ状態により、読み出しデータ長を設定することができる。
【０１３０】
具体的には、レジスタ回路１１３に２ビットのレジスタを準備すると、４つの異なる状態を設定できる。例えば、２ビットのレジスタが格納するデータが、”００”状態である場合には最大の３２バイトのデータ長を読み出し、同様に、”０１”状態である場合には２４バイト、”１０”状態の場合では１６バイト、”１１”のデータ状態では８バイトのデータを読み出すように設定する。
【０１３１】
＜データ読み出し動作＞  
次に、図２０を用い、本例に係る半導体記憶装置のデータ読み出し動作について説明する。ここで、本例においても、読み出し単位である１ページは３２バイトから構成され、さらに装置内部でのデータ処理目的を目的とし、装置内部でのみそのデータの書き換えが可能かつ装置外部の読み出し可能な複数のフラグ領域(冗長領域)からなるとする。冗長領域は前記目的以外でさらに設けることは妨げない。
【０１３２】
（ａ）開始アドレスを番地０とし、読み出しデータ長３２バイト（不良データがない場合）  
図２０（ａ）は、ページ読み出し動作に先立って与える読み出し開始アドレスを番地０とし、ページの最終の番地まで３２バイトを読み出す例である。  
まず、データ読み出し動作に先立って、上記レジスタ回路１１３に設けられた読み出しデータ長を決定するレジスタを予め３２バイトにセットして、指定する読み出しデータ長を決める。例えば、この（ａ）に示す場合、１ページには不良データがないことから、データ長を変更する必要がない。そのため、外部のメモリコントローラ等は、８バイトの１単位として、第１乃至第４のサイクルを行い、１ページの最終の番地までデータ読み出す。  
従って、まず、フラグ（Flag）サイクルの実行後、上記第１サイクル、第２サイクル、、、と動作を実行すれば良い。そのため、
第１のサイクルの際には、上記と同様に、第１フレームを読み出す。  
続いて、同様に、第２乃至第４のサイクルの際に、第２乃至第４フレームを順次読み出す。
【０１３３】
（ｂ）開始アドレスを番地０とし、読み出しデータ長１６バイト（第３、第４のサイクルに不良データが集中する場合）  
（ｂ）に示す場合では、第３、第４のサイクルに不良データが集中するため、データ読み出しの前に、レジスタ回路１１３に設定されるレジスタを予め１６バイトに制限してセットされる。
【０１３４】
まず、同様に、フラグ（Flag）サイクルとして、上記フラグ情報FLAGビットを読み出す。次に、
第１、第２のサイクルの際には、上記と同様に、第１、第２フレームを順次読み出す。
【０１３５】
一方、続く第３、第４のサイクルの際には、読み出しデータが１６バイトに制限されるため、データ読み出しは行われず、これが省略される。
【０１３６】
（ｃ）開始アドレスを番地８とし、読み出しデータ長８バイト（第１、第３、第４のサイクルに不良データが集中する場合）  
（ｂ）に示す場合では、第１、第３、第４のサイクルに不良データが集中するため、データ読み出しの前に、開始アドレスを番地８とし、レジスタ回路１１３に設定されるレジスタを予め８バイトに制限してセットされる。
【０１３７】
まず、同様に、フラグ（Flag）サイクルとして、上記フラグ情報FLAGビットを読み出す。次に、
第１のサイクルの際には、開始アドレスが番地８とされるため、データ読み出しは行われず、これが省略される。
【０１３８】
第２のサイクルの際には、上記と同様に、第２フレームを順次読み出す。
【０１３９】
続く第３、第４のサイクルの際には、読み出しデータが８バイトに制限されるため、データ読み出しは行われず、これが省略される。
【０１４０】
＜作用効果＞  
上記のように、第３の実施形態に係る半導体記憶装置およびそのデータ制御方法によれば、少なくとも上記（１）乃至（３）と同様の効果が得られる。さらに、本例では、下記（４）に示す効果が得られる。  
（４）外部の制御装置が必要とするデータ長のみを取得でき、読み出し時間を低減できる。  
本例ではレジスタ回路１１３を更に備える点で、上記第２の実施形態と相違する。  
そのため、レジスタ回路１１３にセットする２ビットデータの状態により、読み出し開始アドレスおよび読み出しデータ長を予め設定でき、図示せぬ装置の外部の制御装置（メモリコントローラ）等が必要とするデータ長のみを取得できる点で、有利である。
【０１４１】
加えて、上記と同様に製造工程中に発生した欠陥、もしくは長期使用によるメモリセルの劣化に起因する、いわゆるクロスポイント不良により使用できなくなったフレームデータを無駄に読み出す必要がなくなり、外部の制御装置にとって、真に必要なデータ箇所のみを読み出せばよくなるため、読み出し時間を低減できる点で、有利である。
【０１４２】
より具体的には、上記図２０（ｂ）に示したように、例えば第２のアドレスマッピングを使用して番地16から番地31を含む箇所に前記不良によるデータが集中していることが
あらかじめ分かっている場合、図示せぬ制御装置は、まず、読み出しに先立って読み出しデータ長を１６バイトに設定する。つまりレジスタ回路１１３に格納される２ビットデータのレジスタの状態を”１０”状態に設定し、読み出し開始アドレスを０に設定する。続いて、上記データ読み出し動作を行う。
【０１４３】
この（ｂ）に示す場合、第１、第２のサイクルの際には、上記と同様に、第１、第２フレームを順次読み出す一方、続く第３、第４のサイクルの際には、読み出しデータが１６バイトに制限されるため、データ読み出しは行われず、これが省略される。
【０１４４】
そのため、上記第２の実施形態のように外部の制御装置がフラグ情報FLAGを検知することができることに加え、本例では１ページ（３２バイト）の全領域を読む必要がなく、必要な第１、第２フレームのみを読み出すことができる。
【０１４５】
換言すると、第３のサイクルと第４のサイクルを省略して、第２のサイクルのデータ読出しが終了した時点で、必要データがレジスタ１１２−１２に収集し終えている。そのため、半導体記憶装置は、その時点で、読み出し動作を終了して、レディービジーRBx信号によりレディー状態を外部に通知することができる。
【０１４６】
このように、外部のメモリコントローラ等にとって、不要なサイクルを省略できるため、データ読み出し時間の低減に効果があると言える。
【０１４７】
［第４の実施形態（フラグ情報を準備する一例）］  
次に、図２１を用い、第４の実施形態に係る半導体記憶装置およびそのデータ制御方法について説明する。この実施形態は、上記フラグ情報FLAGを準備する一例に関するものである。この説明において、上記第１乃至第３の実施形態と重複する部分の詳細な説明を省略する。
【０１４８】
上記第１から第３の実施形態を実施するにあたり、フラグ情報FLAGを冗長領域に予め準備して記憶させておく必要がある。ここで、予めとは、例えば、製造工程上で発生した欠陥に起因する場合は工場出荷のタイミングや、長期使用劣化より発生した欠陥に起因する場合には半導体記憶装置に接続された図示せぬ制御装置による任意のタイミング等である。
【０１４９】
＜構成例＞  
上記のように、例えば、製造工程上で発生した欠陥に起因する場合に工場出荷のタイミングで、フラグ情報FLAGをセットする場合には、上記第１、第２の実施形態に係る構成と同様である。
【０１５０】
この構成により、装置外部から一時的に上記第１のアドレスマッピングを使用するか、上記第２のアドレスマッピングを使用するか否かを選択することができる。
【０１５１】
その他の構成に関しては、上記第１乃至第４の実施形態と実質的に同様であるため、詳細な説明を省略する。  
＜フラグ情報FLAGの書き込み＞  
次に、図２１に沿って、前記フラグ情報を準備するフローについて説明する。  
（ステップＳ３００）  
まず、外部のメモリコントローラ等により、アドレスマッピングを一時的に切り替えるために、ページレジスタ１１２内のレジスタ１１２−１２の値を変更する。ここでは、例えば、上記第２のアドレスマッピングを選択するようにレジスタ１１２−１２をセットする。
【０１５２】
（ステップＳ３０１）  
続いて、必要に応じ、外部のメモリコントローラ等により、上記第３の実施形態で係る読み出しデータ長を変更するレジスタ１１３が格納するデータの状態を設定する。ここでは、1バンクのデータが連続した4バイトに集中するように構成されているため、少なくとも４バイト長以上に設定すればよい。例えば、構成要件として、ECCの訂正単位内に集中するようにすることである。本形態では、上記と同様の８バイトとする。
【０１５３】
（ステップＳ３０２）  
続いて、読み出し開始のカラム番地を指定して、上記と同様のデータ読み出し動作を開始する。このステップの結果の読み出しデータは、レジスタ１１２−１２上に保持される。
【０１５４】
（ステップＳ３０３）  
続いて、ページレジスタ１１２内において、不良データのフェイル許容数（Nfail）を設定する。不良データのフェイル許容数（Nfail）は、可変であり、必要に応じて、出荷のタイミングではフェイルビット数計数回路１１２−９を用いて許容数（Nfail）を設定しても良い。また、上記任意のタイミングでは、図示せぬ外部に接続された制御装置により設定しても良い。
【０１５５】
より具体的には、本実施形態では同一バンクから４バイトのデータが読み出されるため、単一のクロスポイントフェイルに起因する期待値と異なるデータは、最大４バイト出力される可能性がある。よって、フェイル許容数（Nfail）を３バイトに設定すれば、４バイト以上の期待値不一致は前記不良と推定することが可能である。
【０１５６】
（ステップＳ３０４）  
続いて、レジスタ１１２−１２上に保持された上記読み出し結果を基に、フェイル許容数以上の期待値と異なるデータ（フェイルビット）を装置内部でカウントする。
【０１５７】
このフェイルビットのカウントは、同様に、装置内部のフェイルビット数計数回路１１２−９とフェイルビット数比較回路１１１とを用いても良いし、図示せぬ外部に接続された制御装置に読み出して計数しても良い。
【０１５８】
（ステップＳ３０５）  
続いて、フェイルビット数計数回路１１２−９とフェイルビット数比較回路１１１とを用い、上記ステップＳ３０３の際に予め設定したフェイル許容数（Nfail）とステップＳ３０４の際にカウントしたフェイルビットとを比較し、フェイル許容数（Nfail）の許容範囲内か否かを判断する。  
この際、より具体的には、単一の期待値一致不一致の判定だけではなく、複数の期待値一致不一致の判定を行うことによる総合的に判定することにより、不良データが許容範囲内か否かを判断することも可能である。
【０１５９】
続いて、このステップＳ３０５の際に、フェイル許容数（Nfail）の許容範囲内である判断された場合（Yes）には、前述のクロスポイント型フェイルの可能性は低く、第１のアドレスマッピングで良く、第２のアドレスマッピングを使用する必要はない。そのため、フラグ情報FLAGを書き込む必要はなく（”０”状態：消去状態）、この動作を終了する（End）。
【０１６０】
（ステップＳ３０６）  
続いて、上記ステップＳ３０５の際に、フェイル許容数（Nfail）の許容範囲を超えると判断された場合（No）には、クロスポイントフェイルの可能性が高く（その他必要な不良パターン等からの総合判断を行っても良い）ため、冗長領域にフラグ情報FLAGを書き込みセットする（”１”状態：セット状態）。
【０１６１】
このフラグ情報FLAGは、通常のメモリセルのデータとは異なる箇所（冗長領域）に書き込まれる。かつ、フラグデータFLAGは、そのデータを変更すると情報を消失してしまうため、通常のデータ消去時やデータ書き換え時であっても、追記方式は許可されるが、データの書き換えやデータの消去が禁止された領域に書き込まれる。また、通常のデータ書き込みとは異なる方法、例えばコマンドシーケンスを別途設けるなどの方法で、誤って書き込まれることがないように、設定されることがより望ましい。
【０１６２】
＜作用効果＞  
上記のように、第４の実施形態に係る半導体記憶装置およびそのデータ制御方法によれば、少なくとも上記（１）乃至（４）と同様の効果が得られる。
【０１６３】
さらに、本例によれば、上記記載のフラグ情報FLAGをセット等することができるため、欠陥起因の不具合の影響を必要最小限にとどめることができ、半導体記憶装置の利便性向上に寄与できることが明らかある。
【０１６４】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１６５】
１００…メモリコア（メモリセルアレイ）、１１２…ページレジスタ、１０７…シーケンス制御回路、FLAG…フラグ情報、BYTEADD(Col)…バイトアドレス。
【図１】
0005694053.tif 000002
【図２】
0005694053.tif 000003
【図３】
0005694053.tif 000004
【図４】
0005694053.tif 000005
【図５】
0005694053.tif 000006
【図６】
0005694053.tif 000007
【図７】
0005694053.tif 000008
【図８】
0005694053.tif 000009
【図９】
0005694053.tif 000010
【図１０】
0005694053.tif 000011
【図１１】
0005694053.tif 000012
【図１２】
0005694053.tif 000013
【図１３】
0005694053.tif 000014
【図１４】
0005694053.tif 000015
【図１５】
0005694053.tif 000016
【図１６】
0005694053.tif 000017
【図１７】
0005694053.tif 000018
【図１８】
0005694053.tif 000019
【図１９】
0005694053.tif 000020
【図２０】
0005694053.tif 000021
【図２１】
0005694053.tif 000022