複数のメモリセルを含んだ複数のブロックを有する半導体メモリと、記憶装置制御部と、を具備する半導体記憶装置であって、前記半導体メモリは、前記記憶装置制御部の制御に従って、前記メモリセルへデータを書き込み、前記メモリセルからデータを読み出し、前記メモリセル中のデータを消去し、データ読み出しのための読み出しレベルを変更し、前記記憶装置制御部を第1モードおよび第2モードの少なくとも一方で動作させるためのプログラムを保持し、前記記憶装置制御部は、本体データと前記本体データの誤り訂正用の冗長データとを前記半導体メモリに書き込み、前記半導体メモリから本体データおよび対応する冗長データを読み出し、前記読み出された冗長データに基づいて前記読み出された本体データの誤りを訂正し、前記半導体記憶装置に電源が供給されると前記プログラムを読み出して前記第1モードまたは前記第2モードに入り、前記第1モードにある間、自律的に、前記複数のブロックの各々について、データの消去およびデータの書き込みおよび前記書き込まれたデータの読み出しを行って前記読み出されたデータ中の誤りの数が前記記憶装置制御部の訂正能力または閾値を超えている場合に当該ブロックまたは前記半導体記憶装置を不良と判定し、前記第2モードにある間、前記半導体メモリから読み出された本体データの誤り訂正に失敗すると現在の読み出しレベルから変更された読み出しレベルを用いて前記誤り訂正に失敗した本体データを読み出す、ことを特徴とする半導体記憶装置。前記記憶装置制御部が、前記第1モードにある間、自律的に、前記データの消去前にデータの読み出しを行ってから、前記読み出されたデータ中の誤りの数が前記記憶装置制御部の訂正能力または閾値を超えている場合に当該ブロックまたは前記半導体記憶装置を不良と判定する、ことを特徴とする請求項1に記載の半導体記憶装置。前記記憶装置制御部が、前記第1モードにある間、自律的に、前記複数のブロックについてのデータの読み出しを行い、前記読み出されたデータの誤り訂正に失敗すると現在の読み出しレベルから変更された読み出しレベルを用いて前記誤り訂正に失敗したデータを読み出す、ことを特徴とする請求項2に記載の半導体記憶装置。前記プログラムが、前記半導体記憶装置への次の電源遮断後の電源投入の際に前記第1モードおよび前記第2モードのいずれで前記半導体記憶装置を動作させるかを、受け取ったコマンドで変更される、ことを特徴とする請求項3に記載の半導体記憶装置。温度センサをさらに具備し、前記記憶装置制御部が、前記温度センサにより測定された温度が第2閾値を超えてから前記第1モードに入る、ことを特徴とする請求項4に記載の半導体記憶装置。複数のメモリセルを含んだ複数のブロックを有する半導体メモリと、記憶装置制御部と、を具備する半導体記憶装置の制御方法であって、第1モードにある間、自律的に、前記複数のブロックの各々についてデータの消去およびデータの書き込みおよび前記書き込まれたデータの読み出しを行って前記読み出されたデータ中の誤りの数が前記記憶装置制御部の訂正能力または閾値を超えている場合に当該ブロックまたは前記半導体記憶装置を不良と判定することと、第2モードにある間、本体データと前記本体データの誤り訂正用の冗長データとを前記半導体メモリに書き込み、前記半導体メモリから本体データおよび対応する冗長データを読み出し、前記読み出された冗長データに基づいて前記読み出された本体データの誤りを訂正し、前記半導体メモリから読み出された本体データの誤り訂正に失敗すると現在の読み出しレベルから変更された読み出しレベルを用いて前記誤り訂正に失敗した本体データを読み出すことと、前記記憶装置制御部を前記第1モードで動作させるプログラムまたは前記記憶装置制御部を前記第2モードで動作させるプログラムを前記半導体メモリに書き込むこと、あるいは前記記憶装置制御部を前記第1および第2モードの選択された一方で動作させるプログラムを前記半導体メモリに書き込むこと、を具備することを特徴とする半導体記憶装置の制御方法。前記第1モードにある間、自律的に、前記データの消去前にデータの読み出しを行ってから、前記読み出されたデータ中の誤りの数が前記記憶装置制御部の訂正能力または閾値を超えている場合に当該ブロックまたは前記半導体記憶装置を不良と判定する、ことを特徴とする請求項6に記載の半導体記憶装置の制御方法。前記記憶装置制御部が前記第1モードにある間、自律的に、前記複数のブロックについて、データの読み出しを行い、前記読み出されたデータの誤り訂正に失敗すると現在の読み出しレベルから変更された読み出しレベルを用いて前記誤り訂正に失敗したデータを読み出す、ことを特徴とする請求項7に記載の半導体記憶装置の制御方法。前記半導体記憶装置中の温度センサにより測定された温度が第2閾値を超えてから前記第1モードに入る、ことを特徴とする請求項8に記載の半導体記憶装置の制御方法。複数のメモリセルを含んだ複数のブロックを有する半導体メモリと、記憶装置制御部と、を具備する半導体記憶装置中の前記記憶装置制御部用の制御プログラムであって、前記半導体記憶装置は、本体データと前記本体データの誤り訂正用の冗長データとを前記半導体メモリに書き込み、前記半導体メモリから本体データおよび対応する冗長データを読み出し、前記読み出された冗長データに基づいて前記読み出された本体データの誤りを訂正し、前記半導体メモリから読み出された本体データの誤り訂正に失敗すると現在の読み出しレベルから変更された読み出しレベルを用いて前記誤り訂正に失敗した本体データを読み出す機能を有する半導体記憶装置であって、前記制御プログラムは前記半導体記憶装置に書き込まれることで前記記憶装置制御部の機能を、自律的に、前記複数のブロックの各々についてのデータの消去およびデータの書き込みおよび前記書き込まれたデータの読み出しを行って前記読み出されたデータ中の誤りの数が前記記憶装置制御部の訂正能力または閾値を超えている場合に当該ブロックまたは前記半導体記憶装置を不良と判定する第1モードに変更させる、ことを特徴とする制御プログラム。前記第1モードにある間、前記記憶装置制御部が、自律的に、前記データの消去前にデータの読み出しを行い、前記読み出されたデータ中の誤りの数が前記記憶装置制御部の訂正能力または閾値を超えている場合に当該ブロックまたは前記半導体記憶装置を不良と判定する、ことを特徴とする請求項10に記載の制御プログラム。前記記憶装置制御部に、前記記憶装置制御部が前記第1モードにある間、自律的に、前記複数のブロックについて、データの読み出しを行い、前記読み出されたデータの誤り訂正に失敗すると現在の読み出しレベルから変更された読み出しレベルを用いて前記誤り訂正に失敗した前記データを読み出すこと、を実行させることを特徴とする請求項11に記載の制御プログラム。前記記憶装置制御部に、前記半導体記憶装置中の温度センサにより測定された温度が第2閾値を超えてから前記第1モードに入ること、をさらに実行させることを特徴とする請求項12に記載の制御プログラム。より高い精度で不良を検出可能な半導体記憶装置、半導体記憶装置の制御方法、制御プログラムを提供しようとするものである。一実施形態による半導体記憶装置は、複数のメモリセルを含んだ複数のブロックを有する半導体メモリと、記憶装置制御部と、を含む。半導体メモリは、記憶装置制御部の制御に従って、メモリセルへデータを書き込み、メモリセルからデータを読み出し、メモリセル中のデータを消去し、データ読み出しのための読み出しレベルを変更する。半導体メモリは、記憶装置制御部を第1モードおよび第2モードの少なくとも一方で動作させるためのプログラムを保持する。記憶装置制御部は、本体データと本体データの誤り訂正用の冗長データとを半導体メモリに書き込み、半導体メモリから本体データおよび対応する冗長データを読み出し、読み出された冗長データに基づいて読み出された本体データの誤りを訂正し、半導体記憶装置に電源が供給されるとプログラムを読み出して第1モードまたは第2モードに入る。記憶装置制御部は、第1モードにある間、自律的に、複数のブロックの各々について、データの消去およびデータの書き込みおよび書き込まれたデータの読み出しを行って読み出されたデータ中の誤りの数が記憶装置制御部の訂正能力または閾値を超えている場合に当該ブロックまたは半導体記憶装置を不良と判定する。記憶装置制御部は、第2モードにある間、半導体メモリから読み出された本体データの誤り訂正に失敗すると現在の読み出しレベルから変更された読み出しレベルを用いて誤り訂正に失敗した本体データを読み出す。以下に実施形態について図面を参照して説明する。なお、以下の説明において、略同一の機能及び構成を有する構成要素については、同一符号を付し、重複説明は必要な場合にのみ行う。ただし、図面は模式的なものであることに留意すべきである。また、各実施形態は、この実施形態の技術的思想を具体化するための装置や方法を例示するものであって、実施形態の技術的思想は、構成部品の種々の特徴を下記のものに特定するものでない。実施形態の技術的思想は、特許請求の範囲において、種々の変更を加えることができる。各機能ブロックは、ハードウェア、コンピュータソフトウェアのいずれかまたは両者を組み合わせたものとして実現することができる。このため、機能ブロックがこれらのいずれでもあることが明確となるように、概してそれらの機能の観点から以下に説明する。このような機能が、ハードウェアとして実行されるか、またはソフトウェアとして実行されるかは、具体的な実施態様またはシステム全体に課される設計制約に依存する。当業者は、具体的な実施態様ごとに、種々の方法でこれらの機能を実現し得るが、いずれの実現の手法も実施形態の範疇に含まれる。また、各機能ブロックが、以下の具体例のように区別されていることは必須ではない。例えば、一部の機能が以下の説明において例示されている機能ブロックとは別の機能ブロックによって実行されてもよい。さらに、例示の機能ブロックがさらに細かい機能サブブロックに分割されていてもよい。どの機能ブロックによって特定されるかによって実施形態が限定されるものではない。第1実施形態図1は、第1実施形態に係る半導体記憶装置を概略的に示すブロック図である。半導体記憶装置1は、例えばSSDSolidStateDeviceである。半導体記憶装置1は、ホスト装置10と通信可能に構成されている。半導体記憶装置1は、メモリ半導体メモリ2、記憶装置制御部3、インターフェースコントローラ4、電源供給部5を含んでいる。メモリ2は、実際にデータを記憶する役割を担い、半導体メモリチップを含んでいる。メモリ2は、データを不揮発に記憶し、例えばNAND型フラッシュメモリである。NAND型フラッシュメモリは、複数のメモリセルからなるページと呼ばれる単位でデータの書き込みプログラムおよび読み出しを行う。ページには、各ページに固有の物理アドレスが割り当てられている。また、NAND型フラッシュメモリは、複数のページからなる物理ブロック消去ブロックと呼ばれる単位でデータの消去を行う。メモリ2の詳細については後述する。メモリ2から構成される記憶空間は、例えばファームウェア制御プログラム命令領域2F、管理情報領域2M、ユーザデータ領域2Uを含んでいる。ファームウェア領域2は、記憶装置制御部3の動作を制御するためのファームウェアを保持する。管理情報領域2Mは、記憶装置制御部3が、半導体記憶装置1の制御に使用する種々の管理情報を保持する。ユーザデータ領域2Uは、半導体記憶装置1のユーザがホスト装置10を介してデータを記憶することが可能な領域である。記憶装置制御部3は、半導体記憶装置1の全体を司り、特にメモリ2の動作を制御する。記憶装置制御部3は、例えば半導体チップからなり、例えばCPUCentralProcessingUnit、ROMReadOnlyMemory、RAMRandomAccessMemoryを含んでいる。RAMは、DRAMDynamicRAM、SRAMStaticRAM、MRAMMagnetoresistiveRAM、またはFeRAMFerroelectricRAMである。半導体記憶装置1が電源供給を受けた際にファームウェア領域2Fに保持されているファームウェアがRAM上に読み出される。そして、CPUは、RAM上のファームウェアに従って所定の処理を実行する。記憶装置制御部3は、後述の複数の動作モードのいずれかで動作するとともにメモリ2によるデータの記憶状態を管理する。記憶状態の管理とは、どの物理アドレスのページまたは物理ブロックが、どの論理アドレスのデータを保持しているか、およびどの物理アドレスのページまたは物理ブロックが消去状態何も書き込まれていない、または無効なデータを保持している状態であるかを管理することを含んでいる。記憶状態の管理は、例えば論理アドレス物理アドレス変換テーブル論物変化テーブルを用いて行われる。論物変換テーブルは、例えば、半導体記憶装置1への電源遮断時にメモリ2中の管理情報領域2Mに保持され、半導体記憶装置1の起動時に記憶装置制御部3中のRAMに読み出される。インターフェースコントローラ4は、ホスト装置10と半導体記憶装置1との間のインターフェースを実現し、そのためのハードウェア、ソフトウェアを含んでいる。半導体記憶装置1は、インターフェースコントローラ4を介してホスト装置10と通信する。インターフェースコントローラ4は、インターフェース11を介してホスト装置10と通信可能に接続される。インターフェースコントローラ4は、インターフェース11を介した半導体記憶装置1とホスト装置10との通信に必要な処理を行う。インターフェース11は、半導体記憶装置1がホスト装置10と物理的に接続されるためのハードウェア上の構成ピンの配置、数等も含む。インターフェース11は、例えばSATA、PCIexpress、SAS、USB等であるが、これらに限定されない。以下の記述では、インターフェース11は例としてSATAとする。インターフェースコントローラ4、メモリ2、記憶装置制御部3は、バス7を介して相互に通信可能に接続されている。電源供給部5は、電源供給部5に接続された装置から電源を受け取る。電源供給部5は、半導体記憶装置1がホスト装置10と接続されている間、電源線12を介してホスト装置10と接続され、電源線12を介してホスト装置10から電源を受け取る。電源供給部5は、電源線8a、8b、8cを介して記憶装置制御部3、メモリ2、インターフェースコントローラ4に電源を供給する。次に、ファームウェアについて、半導体記憶装置1の起動時に関して記述する。ファームウェアは、少なくとも通常モードおよび自走モードを含んでいる。自走モードは、半導体記憶装置1の評価の際に使用されるモードである。通常モードは、半導体記憶装置1の通常の使用時に使用されるモードである。これらのモードの詳細は後述する。ファームウェアは、書き換えられることが可能である。例えば、書き換えは、非特許文献1に記載のINCITSACS2準拠のコマンドである92hDOWNLOADMICROCODEや93hDOWNLOADMICROCODEDMAによって可能である。あるいはINCITSACS2準拠のSCTコマンドやその他のベンダー独自コマンドによって書き換えられるようにすることも可能である。例えば、半導体記憶装置1の評価の際に、自走モード用のファームウェアがファームウェア領域2Fに書き込まれる。半導体記憶装置1の評価後の出荷の際に、自走モード用のファームウェアが通常モード用のファームウェアに書き換えられる。または、ファームウェアは評価工程から出荷後も通常モードと自走モードとを含んでいて、コマンドにより切り替えられるようにされていてもよい。具体的には、例えば、INCITSACS2準拠のSCTコマンドやその他のベンダー独自コマンドによってファームウェア内部の不揮発に保持されているトリガが書き換えられることで、通常モードと自走モードが切り替わる。モードの切り替えについては、後述の別の実施形態で詳細に説明する。図2は、第1実施形態に係る半導体記憶装置1の起動時のフローチャートである。ファームウェアは、半導体記憶装置1の起動時に記憶装置制御部3に図2に示されるフローを実行させる。記憶装置制御部3は、ファームウェアに基づいて、図2に示されるフローを行えるように構成されている。図2に示されるように、半導体記憶装置1の外部例えばホスト装置10から電源線12を介した半導体記憶装置1への電圧供給が開始するステップS1。供給された電圧は、電源供給部5によって受け取られる。電源供給部5は、受け取っている電圧に基づいて、電源線8a、8b、8cを介して記憶装置制御部3、メモリ2、インターフェースコントローラ4にこれらの要素に必要な既定の電圧を供給するステップS2。記憶装置制御部3は、一定時間待機しステップS3、電源線8a上の電圧が記憶装置制御部3の動作に必要な既定の値に達したかを判定するステップS4。ステップS4での判断がNoである場合、フローはステップS3に戻る。ステップS4での判断がYesである場合、記憶装置制御部3が起動するステップS5。次に、記憶装置制御部3は、メモリ2のファームウェア領域2F中のファームウェアを記憶装置制御部3中のRAM上に読み出すステップS6。記憶装置制御部3は、読み出されたファームウェアが通常モード用であるかまたは通常モードを指定しているかを判定するステップS7。ステップS7での判断がYesの場合、記憶装置制御部3は通常モードに入り、これ以降、通常モード中で動作するステップS8。一方、ステップS7での判断がNoである場合、記憶装置制御部3は、ファームウェアが自走モード用であるかまたは自走モードを指定しているかを判定するステップS9。ステップS9での判断がYesである場合、記憶装置制御部3は自走モードに入り、これ以降、自走モード中で動作するステップS10。ステップS9での判断がNoである場合、記憶装置制御部3は、その他の何らかのモードに入り、これ以降、そのモード中で動作するステップS11。次に、メモリ2について説明する。メモリ2は、図3に示されるように、例えば複数のメモリチップ20を含んでいる。図3は、第1実施形態に係るメモリの例を示している。上記のように、メモリチップ20は、例えばNAND型フラッシュメモリチップNANDメモリチップである。各メモリチップ20は、1つのメモリセルにおいて1ビットまたは2ビット以上のデータを保持し、これを読み出せるように構成されている。各メモリチップ20は、図4に示される構成を有する。図4は、第1実施形態に係るメモリチップの例を示している。図4に示されるように、メモリチップ20は、メモリセルアレイ21、およびメモリセルアレイ制御部22を含んでいる。メモリセルアレイ21は、複数のビット線、複数のワード線、共通ソース線、複数のメモリセルを含んでいる。メモリセルは、電気的にデータを書き換え可能に構成されており、ビット線とワード線の各交点に配置されている。メモリセルアレイ21の詳細は後述する。メモリセルアレイ制御部22は、ビット線制御回路23、カラムデコーダ24、ワード線制御回路25は、制御回路26、制御信号入力端子27、データ入出力端子28、データ入出力バッファ29を含んでいる。ビット線制御回路23は、制御回路26およびカラムデコーダ24からの制御に基づいて、ビット線を介してメモリセルのデータを読み出し、ビット線を介してメモリセルに書き込み制御電圧を印加してメモリセルにデータを書き込み、メモリセルのデータを消去する。ビット線制御回路23には、カラムデコーダ24、データ入出力バッファ29、およびデータ入出力端子28が接続されている。メモリセルから読み出されたデータは、ビット線制御回路23、データ入出力バッファ29を介してデータ入出力端子28から外部へ出力される。データ入出力端子28は、記憶装置制御部3に接続されている。また、外部からデータ入出力端子28に入力された書き込みデータは、データ入出力バッファ29を介して、カラムデコーダ24によってビット線制御回路23に入力され、指定されたメモリセルへ書き込まれる。ワード線制御回路25は、データ読み出し、書き込み、あるいは消去に必要な種々の電圧を制御回路26の制御に基づいて特定のワード線に印加する。制御回路26は、制御信号入力端子28に入力される制御信号を受け取る。制御信号入力端子27は記憶装置制御部3に接続されている。制御回路25は、制御信号に従って、メモリセルアレイ21、ビット線制御回路23、カラムデコーダ24、データ入出力バッファ29、およびワード線制御回路25を制御するための制御信号及び制御電圧を生成する。図5は、第1実施形態に係るメモリセルアレイ21の例を示している。図5に示されるように、メモリセルアレイ21は、1または複数のプレーン31を含んでいる。プレーン31は、複数のブロック32を含んでいる。ブロック32は、複数のNANDセルを含んでおり、このブロック単位でデータが消去される。1つのNANDセルは、図6に示されるように、直列接続されたメモリセルトランジスタMCからなるメモリストリングMSと、その両端に接続された第1、第2選択ゲートトランジスタS1、S2とを含んでいる。図6は、第1実施形態に係るプレーンの例を示している。第1選択ゲートトランジスタS1はビット線BLに接続され、第2選択ゲートトランジスタS2はソース線SRCに接続されている。同一のロウに配置されたメモリセルトランジスタMCの制御ゲートは、ワード線WL0~WLm-1のうちの1つに共通接続されている。また、第1選択ゲートS1は選択線SGDに共通接続され、第2選択ゲートトランジスタS2は選択線SGSに共通接続されている。メモリセルトランジスタMCは、半導体基板上に形成された積層ゲート構造を備えたMOSFETMetalOxideSemiconductorFieldEffectTransistorを含んでいる。積層ゲート構造は、半導体基板上のゲート絶縁膜、ゲート絶縁膜上の電荷蓄積層浮遊ゲート電極、電荷蓄積層上のゲート間絶縁膜、ゲート間絶縁膜上の制御ゲート電極を含んでいる。メモリセルトランジスタMCは、浮遊ゲート電極に蓄えられる電子の数に応じて相違する閾値電圧を有し、この閾値電圧の違いを利用してデータを記憶する。上記のように、メモリ2は、1つのメモリセルに1ビットまたは2ビット以上のデータ保持可能である。以下の記述では、各2ビット/セルの4値データ記憶方式を例に取る。この方式では、同じワード線WLに接続された複数メモリセルトランジスタMCに2つのページ上位ページおよび下位ページが割り当てられる。1ビット/セルの2値データ記憶方式、3ビット/セルの8値データ記憶方式、あるいは4ビット/セル以上のデータ記憶方式が用いられてもよい。セル当たりのビット数によって第1実施形態は制限されない。1ビット/セルの2値データ記憶方式では、各メモリセルトランジスタMCには1つのページが割り当てられる。3ビット/セルの8値データ記憶方式では、各メモリセルトランジスタMCは上位、中位、下位ページを使用する。メモリセルトランジスタMCは浮遊ゲート電極を有する構造に限られない。例えば、電荷蓄積層としての窒化膜界面に電子をトラップさせることで閾値電圧を調整可能な構造であってもよい。そのような構造の例は、例えばMONOSMetalOxideNitrideOxideSilicon型のメモリセルトランジスタMCが挙げられる。MONOS型メモリセルトランジスタについても同様に、1セル当たり1ビットを記憶するように構成されていてもよいし、2ビット以上を記憶するように構成されていてもよい。また、メモリ2は、特許文献8や特許文献9に記述されるような3次元的にメモリセルが配置された構造例えばBiCSメモリを有していてもよい。1つのワード線WLに接続された複数のメモリセルトランジスタMCは、1物理セクタを構成する。この物理セクタ毎にデータが書き込まれ、読み出される。1物理セクタPSは、2ビット/セル4値で書き込まれた場合、例えば2ページ分のデータを記憶する。一方、1ビット/セル2値で書き込まれた場合、1物理セクタは例えば1ページ分のデータを記憶し、3ビット/セル8値で書き込まれた場合、例えば3ページ分のデータを記憶する。データ読み出し、データ書き込み、データ書き込みベリファイの際、記憶装置制御部3から受信した物理アドレスに応じて、1本のワード線WLが選択され、1物理セクタPSが選択される。この物理セクタPS内のページの切り替えは物理アドレスによって行われる。本実施形態では、例としてメモリ2は2ビット/セル書き込み方式であり、記憶装置制御部3は物理セクタPSには上位ページUpperPageおよび下位ページLowerPageの2ページを割り当てられていると取扱い、それら各ページに対して固有の物理アドレスが割り当てられている。図7は、第1実施形態に係るメモリセルのデータと閾値電圧分布との関係の例を示している。図7は、2ビット/セルの4値NANDメモリに関する。4値NANDメモリは、1つのメモリセルにおける閾値電圧が、4つの閾値電圧のいずれかを持ち得るように構成されている。4つの閾値電圧に割り当てられたデータは、例えばデータ11、01、10、00である。実際には、メモリセル相互間の特性のばらつきに起因して、同じ閾値電圧を有する複数のメモリセルMCであっても、閾値がばらつき、図7に示されるように一定の分布を有する。電圧VA1は、下位ページのみ書き込み済みで上位ページが未書き込みの物理セクタから2値データ読み出しの際に選択ワード線に印加される電圧である。電圧VA1Vは、A1状態へのデータ書き込みの際に、書き込みが完了したかを確認するためにメモリセルに印加されるベリファイ電圧である。電圧VA2、VB2、VC2は、下位ページと上位ページが書き込み済みの物理セクタから4値データ読み出しの際に選択ワード線に印加される電圧である。電圧VA2V、VB2V、VC2Vは、それぞれ、A2、B2、C2状態へのデータ書き込みの際に、書き込みが完了したかを確認するためにメモリセルに印加されるベリファイ電圧である。電圧Vread1、Vread2は、データ読み出しの際に、NANDセル中の非選択メモリセルに対し印加され、その保持データに拘わらず非選択メモリセルを導通させるための読み出し電圧である。電圧Vev、Vev1、Vev2は、メモリセルMCのデータを消去する際に、消去が完了したかを確認するためにメモリセルMCに印加される電圧消去ベリファイ電圧であり、負の値を有する。その大きさは、隣接メモリセル間の干渉の影響を考慮して決定される。上述の各電圧の大小関係は、Vev1<VA1<VA1V<Vread1Vev2<VA2<VA2V<VB2<VB2V<VC2<VC2V<Vread2である。消去ベリファイ電圧Vev、Vev1、Vev2は上記の通り負の値であるが、実際に消去ベリファイにおいてメモリセルMCの制御ゲートに印加される電圧は、負の値ではなく、ゼロまたは正の値である。すなわち、実際には、メモリセルMCのバックゲートに正の電圧を与え、メモリセルMCの制御ゲートにゼロまたはバックゲート電圧より小さい正の値の電圧が印加される。換言すれば、消去ベリファイ電圧Vev1、Vev2、Vev3は、等価的に負の値を有する電圧である。データ消去後のメモリセルMCの閾値電圧分布ERは、その上限値も負の値であり、データ11が割り当てられる。下位ページおよび上位ページ書き込み状態であるデータ01、10、00のメモリセルは、それぞれ正の閾値電圧分布A2、B2、C2を有する分布A2、B2、C2の下限値も正の値である。データ01の閾値電圧分布A2が最も低い値を有し、データ00の閾値電圧分布C2が最も高い値を有し、各種閾値電圧分布の大小関係はA2<B2<C2である。下位ページ書き込みかつ上位ページ未書き込み状態のデータ10のメモリセルは、正の閾値電圧分布A1を有する。分布A1は、その下限値も正の値である。図7に示される閾値電圧分布はあくまで一例であって、第1実施形態はこれに限定されない。例えば、図7では閾値電圧分布A2、B2、C2は全て正の電圧領域にある。しかしながら、閾値電圧分布A2が負の電圧の領域にあり、閾値電圧分布B2、C2が正の電圧の領域にあってもよい。また、閾値電圧分布ER1およびER2が正の電圧領域にあってもよい。そのような分布は、例えばBiCSメモリが相当する。また、上の記述では、分布ER2、A2、B2、C2がそれぞれデータ11、01、10、00と対応づけられているが、別の対応であってもよい。たとえば分布ER2、A2、B2、C2がそれぞれデータ11、01、00、10と対応していてもよい。1つのメモリセルの2ビットデータは、下位ページデータと上位ページデータからなり、下位ページデータと上位ページデータは別々の書き込み動作、つまり、2回の書き込み動作により、メモリセルに書き込まれる。データをと標記するとき、は上位ページデータを、は下位ページデータを表している。まず、下位ページデータの書き込みを、図7の1段目~2段目を参照して説明する。書き込まれるメモリセルはみな消去状態の閾値電圧分布ERを有している、すなわちデータ11を記憶しているものとする。図7に示されるように、下位ページデータを書き込むと、メモリセルの閾値電圧分布ERは、下位ページデータの値1または0に応じて、2つの閾値電圧分布ER1またはA1に分かれる。下位ページデータの値が1の場合、消去状態の閾値電圧分布ERを維持するのでER1=ERであるが、ER1>ERであってもよい。下位ページデータの値が0の場合、メモリセルのトンネル酸化膜に高電界が印加し、フローティングゲート電極に電子を注入して、メモリセルの閾値電圧Vthを所定量だけ上昇させる。具体的には、閾値電圧がベリファイ電圧VA1V以上となるまで書き込みが繰り返される。その結果、メモリセルは、書き込み状態データ10に変化する。書き込みを所定回繰り返しても閾値電圧がベリファイ電圧VA1V以上にならなかった場合またはベリファイ電圧VA1V未満の閾値電圧を有するメモリセル数が所定値以上の場合、当該物理ページについてのデータ書き込みは書き込みエラーとなる。次に、上位ページデータの書き込みを、図7の2段目~3段目を参照して説明する。上位ページデータの書き込みは、メモリチップ20の外部から入力される書き込みデータ上位ページデータと、メモリセルMCに既に書き込まれている下位ページデータとに基づいて行われる。すなわち、図7の2段目~3段目に示されるように、上位ページデータの値が1の場合、メモリセルMCのトンネル酸化膜に高電界がかからないようにし、メモリセルの閾値電圧Vthの上昇を防止する。その結果、データ11保持状態のメモリセル閾値電圧が分布ER1中にあるメモリセルMCは、データ11保持状態を維持しER2状態、データ10閾値電圧が分布A1中にあるメモリセルのメモリセルは、データ10保持状態を維持するB2状態。ただし、各分布間の電圧マージンを確保するために、ベリファイ電圧VA1Vよりも大きい正のベリファイ電圧VB2Vを用いて閾値電圧分布の下限値を調整して、閾値電圧分布の幅を狭めた閾値電圧分布B2を形成するのが望ましい。下限値調整を所定回繰り返しても閾値電圧がベリファイ電圧VB2V以上にならなかった場合またはベリファイ電圧VB2V未満の閾値電圧を有するメモリセル数が所定値以上の場合、当該物理ページについてのデータ書き込みは書き込みエラーとなる。一方、上位ページデータの値が0の場合、メモリセルのトンネル酸化膜に高電界を印加し、フローティングゲート電極に電子を注入して、メモリセルの閾値電圧Vthを所定量だけ上昇させる。具体的には、閾値電圧がベリファイ電圧VA2VまたはVC2V以上となるまで書き込みが繰り返される。その結果、データ11保持状態のメモリセル閾値電圧が分布ER1中にあるメモリセルは分布A2中の閾値を有するデータ01保持状態に変化し、データ10保持状態のメモリセル閾値電圧が分布A1中にあるメモリセルは分布C2中の閾値を有するデータ00保持状態に変化する。このとき、ベリファイ電圧VA2V、VC2Vが用いられて、閾値電圧分布A2、C2の下限値が調整される。書き込みを所定回繰り返しても閾値電圧がベリファイ電圧VA2VまたはVC2V以上にならなかった場合またはベリファイ電圧VA2VまたはVC2V未満の閾値電圧を有するメモリセル数が所定値以上の場合、当該物理ページについてのデータ書き込みは書き込みエラーとなる。データ消去においては、消去ベリファイ電位Vev以下の閾値電圧となるまで消去が繰り返される。その結果、メモリセルは、消去状態データ11保持状態に変化する。消去を所定回繰り返しても閾値電圧が消去ベリファイ電位Vev以下にならなかった場合または消去ベリファイ電位Vev以下の閾値電圧を有するメモリセル数が所定値以上の場合、当該物理ページについての消去は消去エラーとなる。以上が、一般的な4値記憶方式におけるデータ書き込み方式の一例である。3ビット以上の記憶方式についても、上記の動作に更に上位のページデータに応じ、閾値電圧分布を8通り以上に分割する動作が加わるのみであるので、基本的な動作は同様である。次に、図8および図9を参照して、データ読み出しについて説明する。上記のように、例えば半導体記憶装置1が評価段階にあるか出荷後であるかに応じて、半導体記憶装置1は通常モードまたは自走モードで起動する。いずれのモードで起動するかは、ファームウェア領域2F中のファームウェアに依存する。以下は、通常モードでのデータ読み出しに関する。メモリセルMCに記憶されたデータに対応する閾値電圧は、プログラムディスターブPD、リードディスターブRD、および/またはデータリテンションDRの低下により変化する。プログラムディスターブまたはリードディスターブは、データ書き込みまたは読み出しの際に、メモリセルMCに印加される電圧によってメモリセルの閾値が意図せず変化してしまうことである。データリテンションは、経時変化によりメモリセルMCのデータ保持特性が劣化することを通じて悪化し得る。図8に示されるように、プログラムディスターブおよび/またはリードディスターブによって、メモリセルMCの閾値電圧の分布は、破線で示されるように、高い方向に広がり、また/または移動する。このため、デフォルトで設定された各閾値電圧を読み出すための読み出し電圧レベルVA2、VB2、VC2、および非選択セルに印加される読み出し電圧Vread2下位ページのみ書かれた状態の場合は、それぞれ電圧VA1およびVread1は、変化した各閾値電圧より低くなる結果となる。このため、正しくデータを読み出すことができない。メモリセルMCが受けるプログラムディスターブの影響に関しては、例えば、特許文献4に開示されている。メモリセルMCが受けるリードディスターブの影響に関しては、例えば、特許文献5に開示されている。一方、図9に示されるように、メモリセルMCのデータリテンションが悪化すると、メモリセルMCの閾値電圧の分布は、破線で示されるように、低い方向に広がり、また/または移動する。このため、デフォルトで設定された各閾値電圧を読み出すための読み出しレベルVA2、VB2、VC2は、変化した各閾値電圧より高くなる結果となる。このため、正しくデータを読み出すことができない。メモリセルMCのデータリテンション特性に関しては、例えば、特許文献6に開示されている。プログラムディスターブ、リードディスターブ、データリテンション悪化の現象は、図8および図9に示すような3値以上のデータを記憶するMLCMultiLevelCellの場合に限らず2値データを記憶するSLCSingleLevelCellの場合も同様である。ただし、MLCの場合は、SLCの場合に比較して閾値分布間のマージンに係る制約が厳しいため、プログラムディスターブ、リードディスターブ、データリテンション悪化の影響はより顕著である。以上の現象に対して、いわゆるリトライ読み出しまたはシフト読み出しと呼ばれる動作が行われることがある。データ読み出しの際、まず、最初の読み出しの際のECCを用いた誤り訂正が試みられる。エラービット数が多いために誤り訂正が不可能ECCエラーであった場合、リトライ読み出しが行われ、再度ECCを用いた誤り訂正が実行される。このようなデータ読み出しによってシステムとしての不良率が改善する。具体的には、以下の通りである。図10は、第1実施形態に係る半導体記憶装置によるリトライ読み出しのフローの例を示している。通常モード用のファームウェアは、図10に示されるフローを記憶装置制御部3に実行させる。記憶装置制御部3は、このファームウェアに基づいて、図10に示されるフローを行えるように構成されている。まず、図10に示されるように、記憶装置制御部3は、データ読み出し命令と、読み出し対象のメモリセルのアドレスを受信することによってデータ読み出しを開始する。実際には、記憶装置制御部3は、論理アドレスにより特定されている読み出し対象のデータを論物変換テーブルを用いて対応する物理アドレスに変換し、変換された物理アドレスをメモリ2に供給する。まず、記憶装置制御部3は、メモリ2を制御して、例えばデフォルトの読み出しレベルを用いてメモリセルMCからデータを読み出すステップS21。記憶装置制御部3は、読み出されたデータに対してECCを用いて誤り訂正を行い、誤り訂正が可能であるかを判定するステップS22。エラービット数が少ないためECCを用いた誤り訂正が可能な場合、記憶装置制御部3は、読み出されたデータを半導体記憶装置1の外部に出力する。こうして、データ読み出しは終了する。一方、ステップS22において誤り訂正が不可能な場合、記憶装置制御部3は、リトライ読み出しを行うステップS23。リトライ読み出しは、ステップS31~S35を含んでいる。ステップS31において、記憶装置制御部3は、メモリ2によって用いられる読み出しレベルをデフォルトの値からシフトさせる。記憶装置制御部3は、メモリ2を制御して、シフトされた読み出しレベルを用いてメモリセルMCからデータを読み出すステップS32。このメモリセルは、ステップS21のデータ読み出しの対象のメモリセルと同じである。記憶装置制御部3は、ステップS22と同様に、読み出されたデータの誤りをECCを用いて訂正し、誤り訂正が不可能であるかを判定するステップS33。誤り訂正が可能な場合、記憶装置制御部3は、読み出し対象のメモリセルMCをリフレッシュするステップS34。すなわち、読み出し対象のメモリセルMCのデータをECC訂正後のデータを用いて書き直す。また、ステップS34において、記憶装置制御部3は、読み出されたデータを半導体記憶装置1の外部に出力する。こうして、データ読み出しは終了する。一方、ステップS33において、誤り訂正が不可能な場合、ステップS32が再度行われる。または、ステップS31およびS32の組が再度行われてもよい。すなわち、さらにシフトされた読み出しレベルを用いてデータが読み出される。ステップS33は、ステップS32の繰り返し回数が所定値に達したかの判定も含んでいる。すなわち、記憶装置制御部3は、ステップS32の繰り返し回数が所定値に達したと判断すると、ステップS35に移行する。ステップS35において、記憶装置制御部3は、読み出し対象のメモリセルをMC含んだブロックまたはページをバッドブロックとして登録するステップS35。バッドブロックを特定するための情報は、例えば、メモリ2中に保持されており、バッドブロックはデータの保持に使用されない。ステップS35は、また、記憶装置制御部3は、データ読み出しがエラーにより終了したことを示すステータスを半導体記憶装置1の外部例えばホスト装置10に出力することを含んでいる。図11は、第1実施形態に係る半導体記憶装置によるリトライ読み出しのフローの別の例を示している。図11のリトライ読み出しステップS23は、ステップS34、S34、S41~S48を含んでいる。リトライ読み出しにおいて、まず、記憶装置制御部3は、メモリ2によって用いられる読み出しレベルをデフォルトの値から正の方向にシフトさせるステップS41。記憶装置制御部3は、メモリ2を制御して、シフトされた読み出しレベルを用いてメモリセルMCからデータを読み出すステップS42。記憶装置制御部3は、ステップS22と同様に、読み出されたデータの誤りをECCを用いて訂正し、誤り訂正が不可能であるかを判定するステップS43。誤り訂正が可能な場合、フローはステップS34に移行する。一方、ステップS43において、誤り訂正が不可能な場合、記憶装置制御部3は、読み出しレベルをデフォルトの値から負の方向にシフトさせるステップS46。または、図10と同様に、ステップS43の後、ステップS42が再度行われてもよい。さらに、ステップS41において読み出しレベルがさらに正の方向にシフトされてからステップS42が再度行われてもよい。読み出しが繰り返される場合は、図10と同様に、ステップS43でステップS42の繰り返し回数が所定値に達した場合にフローはステップS46に移行する。ステップS46において、記憶装置制御部3は、メモリ2を制御して、シフトされた読み出しレベルを用いてメモリセルMCからデータを読み出すステップS47。記憶装置制御部3は、ステップS22と同様に、読み出されたデータの誤りをECCを用いて訂正し、誤り訂正が不可能であるかを判定するステップS48。誤り訂正が可能な場合、フローはステップS34に移行する。誤り訂正が不可能な場合、フローはステップS35に移行する。または、図10と同様に、ステップS48の後、ステップS47が行われてもよい。さらに、ステップS46において読み出しレベルがさらに負の方向にシフトされてからステップS47が再度行われてもよい。読み出しが繰り返される場合は、図10と同様に、ステップS48でステップS47の繰り返し回数が所定値に達した場合にフローはステップS46に移行する。図11では、例として、読み出しレベルがまず正の方向へのシフト後にデータが読み出され、次いで負の方向へのシフト後にデータが読み出される。しかしながら、シフトの方向の順序は逆でもよい。次に、自走モードについて説明する。例えば半導体記憶装置1が評価段階にある場合、メモリ2のファームウェア領域2Fには、自走モード用のファームウェアが書き込まれている。このため、半導体記憶装置1に電源が導入されると、半導体記憶装置1は、自走モードに入る。図12は、第1実施形態に係る半導体記憶装置1による自走モードのフローの例を示している。自走モード用のファームウェアは、図12に示されるフローを記憶装置制御部3に実行させる。記憶装置制御部3は、このファームウェアに基づいて、図12に示されるフローを行えるように構成されている。自走モードにある記憶装置制御部3は、図12のフローを行うために、例えば図13に示される機能ブロックを有する。記憶装置制御部3は、少なくとも、メモリ制御部3a、誤り訂正3b、スクリーニング制御部3cを含んでいる。メモリ制御部3aは、メモリ2でのデータ読み出し、書き込み、消去を制御する。誤り訂正部3bは、誤り訂正符号の生成、および誤り訂正を行う。メモリ制御部3a、誤り訂正部3bは、スクリーニング中は、スクリーニング制御部3cの制御に従う。メモリ制御部3aは、読み出しレベルの変更もできるようになっていてもよい。メモリ制御部3a、誤り訂正部3bは、通常モードでのものと共通していてもよい。通常モードでは、メモリ制御部3a、誤り訂正部3bは、スクリーニング制御部3cとは別の通常モード用の制御部の制御に従う。自走モードにおいて、記憶装置制御部3は、NANDスクリーニングスクリーニングと呼ばれる処理を自律的に行う。スクリーニングとは、各ブロックについてデータ消去、データ書き込み、データ読み出しを繰り返してメモリをエージングさせることを含んでいる。エージングの過程で、不良と判断されたブロックをバッドブロックに分類して、使用されないようにする。不良との判断は、例えば、データ消去不良、データ書き込み不良、ECCによる訂正不能等に基づく。エージングを行いながらバッドブロックを検出することによって、半導体記憶装置1の信頼性を高めることができる。例えば、適当なエージングを経て不良となるブロックは、エージング無しでは検査に合格するとしても、出荷後の少ない使用の結果で不良になる可能性が高いとの現象に基づく。エージングさせながらの評価を行うことによって、このようなブロックをもバッドブロック化して、初期不良を減ずることが可能である。スクリーニングは、図12に示されるように、概して、ブロック選択、データ消去、データ書き込み、データ読み出しの組を繰り返すことを含んでいる。ステップS51~S58は、1ループ目のためのものであり、ステップS61~S70は2ループ目以降のためのものである。図12に示されるように、スクリーニング制御部3は、処理済みリストをクリアするステップS51。処理済みリストは、メモリ2中のスクリーニング対象ブロックの各々についての処理の完了/未完了を示し、例えば自走モード中に記憶装置制御部3中のRAM上に作成される。スクリーニング対象ブロックは、例えばメモリ2のユーザデータ領域2U中の全ブロックである。ファームウェア領域2Fおよび管理情報領域2Mの一方または両方、あるいはその他の領域が含まれてもよい。スクリーニング制御部3は、処理済みリストに基づいて、1つの未処理未判定のブロックを選択するステップS52。記憶装置制御部3は、選択されたブロック中のデータ、すなわちこのブロック中の全メモリセルのデータを消去するステップS53。スクリーニング制御部3cは、記憶装置制御部3は、選択されているブロックの全ページ下位ページおよび上位ページの両方を含むに特定のデータを書き込むステップS54。書き込まれるデータは、データ本体と、この本体に基づいて生成された誤り訂正用の冗長ビットECCとを含んでおり、スクリーニング制御部3cおよび誤り訂正部3bにより生成される。各メモリセルMCのエージングとスクリーニングを均一に行うために、本体データは乱数であることが望ましい。さらに望ましくは、本体データは、ステップごとあるいはループごとに生成される乱数である。スクリーニング制御部3cはメモリ制御部3aを通じて、スクリーニング目的でデータ読み出しを行い、現在選択されているブロックについて良品または不良品かの判定を行うステップS56。すなわち、選択されているブロック中のあるページからデータを順次読み出し、読み出されたデータに対してECCを用いて誤り訂正を行う。この一連の処理を全ページに対して行う。例えば選択されているブロック中の各ページのデータが誤り訂正可能な場合、このブロックは良品と判定される。選択されているブロックが、誤り訂正不能のデータを含んだページを含んでいない場合、このブロックは良品と判断される。スクリーニング目的のデータ読み出しについては後に詳述する。なお、ステップS56では、誤り訂正可能であるかどうかの判定のみを行い、実際に読み出しデータの誤り訂正を行わないようにしてもよい。なお、誤り訂正不可能なブロックがあった場合、半導体記憶装置1を不良品とみなしてもよい。その場合、たとえば、誤り訂正不可能であった場合、スクリーニングを即座に終了し、電源線12内のたとえばDAS/DSS信号線を介してLEDを高速点滅させることにより、スクリーニングが異常終了して記憶装置1が不良品であることを外部に通知するようにすることが望ましい。次に、スクリーニング制御部3cは、現在選択されているブロックを処理済みリストに加えるステップS57。また、スクリーニング制御部3cは、処理済みリストを参照して、処理されることになっている全ブロックが処理されたかを判断するステップS58。未処理のブロックが残っている場合は、フローはステップS52に戻る。ステップS52において、スクリーニング制御部3cは、別のブロックを選択する。ブロックの選択は、任意の規則に基づくことができる。例えば、最初のブロック選択の際には、ブロックアドレス=0を選択し、次はブロックアドレス=1が選択され、ブロック選択ごとにアドレスが1だけ増加される。こうして、シーケンシャルにブロックが選択される。または、例えばスクリーニング制御部3cはブロックアドレスがランダムに行に沿って並んだブロックアドレスリストを作成し、行順に記載のブロックアドレスが選択される。ステップS58において、全ブロックが処理されていた場合、全ブロックに対する1ループ目の処理が完了する。次いで、フローはステップS61に移行する。ステップS61以降は、処理対象の全ブロックへの2ループ目以降の処理のためのものである。ステップS61、S62は、1ループ目のステップS51、S52とそれぞれ同じである。次いで、スクリーニング制御部3cは、スクリーニング目的のデータ読み出しとブロックの判定を行うステップS63。ステップS63は、ステップS56と同じである。次に、スクリーニング制御部3cは、ステップS64、S65、S67、S68を行う。ステップS64、S65、S67、S68、S69は、それぞれ、1ループ目のステップS53、S54、S56、S57、S58と同じである。ステップS69で未処理のブロックが残っている場合は、フローはステップS61に戻り、全ブロックが処理されると、フローはステップS70に移行する。ステップS63およびステップS67では、誤り訂正可能であるかどうかの判定のみを行い実際に読み出しデータの誤り訂正を行わないようにしてもよいし、実際に読み出しデータの誤り訂正を行なうようにしても良い。なお、誤り訂正不可能なブロックがあった場合記憶装置1を不良品とみなしてもよい。その場合、たとえば、誤り訂正不可能であった場合、ループを終了してスクリーニングを即座に終了し、電源線12内のたとえばDAS/DSS信号線を介してLEDを高速点滅させることにより、スクリーニングが異常終了して記憶装置1が不良品であることを外部に通知するようにすることが望ましい。ステップS70において、スクリーニング制御部3cは、ステップS51の開始から所定時間経過したかを判断する。所定時間経過していない場合、ステップS61~S69からなるループが繰り返される。所定時間は、スクリーニングにおいて望まれるエージングの程度に基づいて定まるループ回数に基づいて決定される。または、ステップS70において、ステップS61~S69からなるループの回数が、所定の回数と比較されてもよい。ステップS70の判定がYesの場合、スクリーニングは終了する。上記のように1ループ目は、ブロック選択、データ消去、データ書き込み、データ読み出しを1セットとして用いるのに対して、2ループ目以降では、データ読み出しプレリード、ブロック選択、データ消去、データ書き込み、データ読み出しが1セットとされている。こうすることにより、スクリーニングの信頼性を高めることができる。すなわち、例えばあるループで処理済みのブロックに、同一ループまたはその後のループにおける別のブロックへのアクセスによってデータが誤って書き込まれてしまうことがある。プレリードが無ければ、この誤書き込みされたブロックについてのその後のループでの処理はデータ消去から開始するので、このような誤書き込みを検出できない。一方、プレリードがあれば、そのような誤書き込みされたブロックを検出できる。あるいは、例えばあるループで処理済みのブロックが、同一ループまたはその後のループにおける別のブロックへのアクセスによってデータが誤って消去されてしまうことがある。プレリードが無ければ、この誤消去されたブロックについてのその後のループでの処理はデータ消去から開始するので、このような誤書き込みを検出できない。一方、プレリードがあれば、そのような誤消去されたブロックを検出できる。あるいは、例えばあるブロックがデータを書き込まれた後にデータ消去されるまで一定の時間間隔が空くため、消去前にプレリードによりデータを再度読みだすことにより、データリテンションの悪いブロックを不良品としてスクリーニングすることができる。プレリードにおいて、スクリーニング制御部3cは、選択されているブロック中のあるページからデータを順次読み出し、読み出されたデータに対してECCを用いて誤り訂正を行う。この一連の処理を全ページに対して行う。例えば選択されているブロック中の各ページのデータが誤り訂正不可能の場合、当該ブロックは不良品と判断され、バッドブロックに追加される。誤り訂正不可能なブロックがあった場合、記憶装置1を不良品とみなしてスクリーニング処理を即座に終了してもよい。スクリーニング中は、ホスト装置10は不要である。このため、スクリーニング中は、半導体記憶装置1は、電源装置40にのみ接続されれば動作が可能であり、そのようにすることが好ましい。図14は、第1実施形態に係る半導体記憶装置1のスクリーニング中の接続の例を示している。図14に示されるように、半導体記憶装置1具体的には、電源供給部5は、電源線12を介して電源装置40から電源を受け取る。また、スクリーニングは、図15に示されるように、1つの設備を用いて複数の半導体記憶装置1に同時に行うことができる。このことは、コスト抑制やスループット増加をもたらし得るため、好ましい。図15は、第1実施形態に係る半導体記憶装置1のスクリーニング中の接続の別の例を示している。図15に示されるように、複数の半導体記憶装置1が、恒温槽41中に配置される。各半導体記憶装置1は、電源線12を介して共通の電源装置40に接続されている。次に、図16を参照して、図12のステップS56、S63、S67のスクリーニング目的のデータ読み出しについて説明する。図16は、第1実施形態に係る半導体記憶装置のスクリーニング中のデータ読み出しのフローを示しており、ステップS56、S63、S67の詳細に対応する。自走モード用のファームウェアは、図16に示される、スクリーニング目的のデータ読み出しを記憶装置制御部3特にスクリーニング制御部3cに実行させる。記憶装置制御部3特にスクリーニング制御部3cは、このファームウェアに基づいて、図16に示されるフローを行えるように構成されている。図16に示されるように、ステップS71において、スクリーニング制御部3cは、メモリ制御部3aを通じて選択されているブロック中のあるページからデータを順次読み出しステップS71、誤り訂正部3bを通じて読み出されたデータの誤りをECCを用いて訂正するステップS72。スクリーニング制御部3cは、また、ステップS71、S72による一連の処理を選択中のブロック中の全ページに対して行って、このブロック中の誤りが全て訂正可能かを判定する。訂正可能であれば、選択中のブロックについてのデータ読み出しおよび判定は終了する。一方、訂正不能のデータが含まれていた場合、スクリーニング制御部3cは、選択中のブロックをバッドブロックとして判定しステップS73、フローは終了する。リトライ読み出しは行われない。理由を以下に述べる。上記のように、通常モードにおいてはリトライ読み出しによって、プログラムディスターブ、リードディスターブ、データリテンション悪化による閾値電圧変化があった場合も、データを正しく読み出せる。一方、リトライ読み出しによって正しくデータを読み出せるブロックは、出荷後の早い段階でバッドブロックとなる可能性が高い。そこで、リトライ読み出しが発生する条件を満たしたブロックをもスクリーニングにおいてバッドブロックと判定することにより、出荷後には、より良質なブロックのみが残ることになる。そのために、スクリーニングの際はリトライ読み出しが行われない。また、リトライ読み出しは、リトライ読み出し無しの読み出しに加えて余分な処理を含んでいるため、データ読み出しに要する時間を増加させる。このため、リトライ読み出しを必要とするブロックをスクリーニングの際にバッドブロックに分類することにより、出荷後の半導体記憶装置1の性能低下を防止できる。以上説明したように、第1実施形態に係る半導体記憶装置によれば、通常モード時はリトライ読み出しが行われ、スクリーニング自走モードの際は、リトライ読み出しは行われない。こうすることにより、信頼性の低いブロックを効率よくスクリーニングすることが可能になる。また、出荷後の早い段階でリトライ読み出しに頼ることになるであろうブロックを予め排除することにより、使用初期段階でのリトライ読み出し発生率を抑制できる。この結果、半導体記憶装置の性能劣化を抑制することができる。また、スクリーニングの効率が増大することで、スクリーニングを行う時間を短縮でき、評価および製造コストを低減させることができる。第2実施形態第2実施形態は、スクリーニング目的のデータ読み出しが、第1実施形態と異なる。図17は、第2実施形態に係る半導体記憶装置のスクリーニング中のデータ読み出しのフローを示しており、図12のステップS56、S63、S67の詳細に対応する。したがって、第2実施形態に係る自走モード用のファームウェアは、図17に示されるデータ読み出しを記憶装置制御部3特にスクリーニング制御部3cに実行させる。記憶装置制御部3特にスクリーニング制御部3cは、このファームウェアに基づいて、図17に示されるフローを行えるように構成されている。図17に示されるように、図16のステップS72に代えてステップS82が行われる。ステップS82において、記憶装置制御部3は、読み出されたデータの誤りをECCを用いて訂正する。スクリーニング制御部3cは、また、ステップS71、S82による一連の処理を選択中のブロック中の全ページに対して行って、誤り訂正されたビット数をペジごとやブロックやその他ECC訂正単位ごとに計数する。スクリーニング制御部3cはまた、ステップS82において、選択されているブロック中の誤り訂正されたビットの数が閾値Xを超えているかを判定する。ステップS82の判定がNoの場合、選択中のブロックについてのデータ読み出しおよび判定は終了する。一方、ステップS82の判定がYesの場合、フローはステップS73に移行する。第1実施形態では、誤り訂正不能なエラーを含んだブロックがバッドブロックとして分類される。すなわち、ブロックから読み出されたデータに誤りが含まれていても、これを訂正可能であれば、そのブロックは良品と判定される。しかしながら、誤り訂正ビット数を多く含むブロックは、時間の経過とともに、プログラムディスターブ、リードディスターブ、リテンション悪化等に起因して、誤り訂正により救済できないブロックに変化する可能性がある。また、誤り訂正ビット数を多く含むブロックは、ユーザによる半導体記憶装置1の使用の際のデータ書き込みおよびデータ読み出しに長い時間を要し得る。このことは、半導体記憶装置1の動作不良やユーザの利便性の低下につながる。そこで、このような事情を考慮して、スクリーニング制御部3cは、誤り訂正により救済可能なブロックであっても、誤り訂正ビット数が閾値を超えると判定されたブロックをもバッドブロックに分類する。こうして、将来不良になる可能性の高いブロックをも排除することができる。第2実施形態のスクリーニング目的の読み出し動作は、誤り訂正ビット数の判定のみを行い実際に読み出しデータの誤り訂正を行わないようにしてもよいし、実際に読み出しデータの誤り訂正を行なうようにしても良い。第2実施形態の読み出し動作は、第1実施形態のプレリード動作にも適用可能であることはもちろんである。第2実施形態の記述において触れていない全ての点について、第1実施形態の記述が第2実施形態にも適用される。以上説明したように、第2実施形態に係る半導体記憶装置よれば、第1実施形態と同じく、通常モード時はリトライ読み出しが行われ、スクリーニング自走モードの際は、リトライ読み出しは行われない。この点に基づき、第1実施形態と同じ利点を得られる。また、第2実施形態では、スクリーニング時のデータ読み出しにおいて、誤り訂正ビット数が閾値を超えると判定されたブロックはバッドブロックに分類される。この点に基づき、より良質なブロックのみを良品と判定することができ、ひいては半導体記憶装置の性能劣化を一層抑制することができる。第3実施形態第3実施形態では、スクリーニング時のデータ読み出しが、メモリ2中の対象とする領域に基づいて異なる。図18は、第3実施形態に係る半導体記憶装置のスクリーニング中のデータ読み出しのフローを示しており、図12のステップS56、S63、S67の詳細に対応する。したがって、第3実施形態に係る自走モード用のファームウェアは、図18に示されるデータ読み出しを記憶装置制御部3特にスクリーニング制御部3cに実行させる。記憶装置制御部3特にスクリーニング制御部3cは、このファームウェアに基づいて、図18に示されるフローを行えるように構成されている。図18に示されるように、記憶装置制御部3は、選択されているブロックがユーザデータ領域2Uに属するか、またはその他の例えばファームウェア領域2Fあるいは管理情報領域2Mに属するかを判定するステップS91。判定がYesの場合、スクリーニング制御部3cは、図16のステップS71~S73を行う。ステップS72に代えて第2実施形態の図17のステップS82が行われてもよい。一方、ステップS91での判定がNoの場合、スクリーニング制御部3cは、メモリ制御部3aを通じて選択されているブロック中のあるページからデータを順次読み出しステップS92、誤り訂正部3bを通じて読み出されたデータの誤りをECCを用いて訂正するステップS93。ステップS92、S93は、図15のステップS71、S72と同じである。スクリーニング制御部3cは、また、ステップS91、S92による一連の処理を選択中のブロック中の全ページに対して行って、このブロック中の誤りが全て訂正可能かを判定する。訂正可能であれば、選択中のブロックについてのデータ読み出しおよび判定は終了する。一方、訂正不能のデータが含まれていた場合、スクリーニング制御部3cは、リトライ読み出しと誤り訂正を行う。すなわち、スクリーニング制御部3cは、図10のステップS31、S32と同様に、読み出しレベルをデフォルトの値からシフトさせステップS94、シフトされた読み出しレベルを用いてメモリセルからデータを読み出すステップS95。スクリーニング制御部3cは、図10のステップS33と同様に、誤り訂正部3bを通じて読み出されたデータの誤りをECCを用いて訂正し、ECCにより誤り訂正が不可能であるかを判定するステップS96。ECCによる誤り訂正が可能な場合、スクリーニング制御部3cは、図10のステップS34と同様に、メモリ制御部3aを通じて、読み出し対象のメモリセルをリフレッシュするステップS97。一方、ステップS95において、誤り訂正が不可能な場合、通常モード時と同様に、ステップS94が再度行われる。または、ステップS93およびS94の組が再度行われてもよい。ステップS95においても、スクリーニング制御部3cは、ステップS94の繰り返し回数が所定値に達したと判断すると、ステップS73に移行する。以上説明したように、第3実施形態に係る半導体記憶装置によれば、第1実施形態と同じく、通常モード時およびメモリのユーザデータ領域以外の領域の読み出しの際はリトライ読み出しが行われ、メモリのユーザデータ領域のスクリーニングの際は、リトライ読み出しは行われない。この点に基づき、第1実施形態と同じ利点を得られる。また、第3実施形態では、自走モードであってもファームウェア領域や管理領域にはリトライ読み出しを行う。これにより、自走モード中にファームウェア領域や管理領域の読み出しに失敗して半導体記憶装置が故障したり制御不能になったりすることを防止できる。第4実施形態第4実施形態は、ファームウェアによる通常モードおよび自走モードの切り替えに関し、第1~第3実施形態の任意のものに適用可能である。図19は、第4実施形態に係るファームウェアに応じた半導体記憶装置のモードの移行の例を示している。第4実施形態では、通常モード用のファームウェアと自走モード用のファームウェアが用意される。説明の開始として、半導体記憶装置1には通常モード用ファームウェアが書き込まれているものとする。この状態で半導体記憶装置1に電源を供給すると、半導体記憶装置1は通常モードで起動する状態T1。その後、半導体記憶装置1への電源の遮断および再投入の度に、半導体記憶装置1は状態T1に入る。一方、状態T1において、通常モード用ファームウェアが自走モード用ファームウェアに書き換えられると、半導体記憶装置1は状態T2に移行する。ファームウェアの書き換えは、上記のように、半導体記憶装置1がサポートするインターフェースにおいて定義されているコマンドを用いて行うことができる。例えば、上記のように、ASC2準拠のDownloadMicrocodeが用いられる。通常モード用および自走モード用ファームウェアは、例えばインターネット接続されたサーバに保存されている。図20のテスタ装置43がインターネット接続を通じてこのサーバに通信可能に接続され、ファームウェアがインターネット接続を通じてテスタ装置43にダウンロードされ、テスタ装置43により、インターフェース11を介して上記のコマンドを用いてファームウェアが半導体記憶装置1のファームウェア領域2Fに書き込まれる。あるいは、通常モード用および自走モード用ファームウェアは、例えばDVD-ROMのような光学メディアやUSBメモリのような不揮発性記憶メディアに保存されていてもよい。半導体記憶装置1のテスタ装置43がこれら記憶媒体に接続され、テスタ装置43により、インターフェース11を介して上記のコマンドを用いてファームウェアが半導体記憶装置1のファームウェア領域2Fに書き込まれる。状態T2にある半導体記憶装置1への電源遮断後に電源を供給すると、半導体記憶装置1は自走モードで起動して状態T3に移行する。状態T3にある半導体記憶装置1への電源の遮断および再投入の度に、半導体記憶装置1は状態T3に入る。すなわち、自走モードで起動する。状態T3にある半導体記憶装置1において、第1~第3実施形態に基づいてスクリーニングが行われる。スクリーニング終了後、自走モード用ファームウェアがテスタ装置43により通常モード用ファームウェアに書き換えられて、半導体記憶装置1は状態T4に移行する。状態T4にある半導体記憶装置1への電源遮断後に電源を供給すると、半導体記憶装置1は通常モードで起動して状態T1に移行する。テスタ装置43は、図1のホスト装置10と同等の構成や半導体記憶装置1との接続形態をとり、スクリーニングの前の前処理や、スクリーニング後のテスト工程のために使用される。スクリーニングの前に、図20に示されるように、図1と同様に半導体記憶装置1とテスタ装置43とが電源線12とインターフェース11とで接続される。次いで、ファームウェア領域2Fが書き換えられ状態T1から状態T2への遷移後に半導体記憶装置1とテスタ装置43との間の電源線12およびインターフェース11とが切断され、半導体記憶装置1と電源装置40とが電源線12で接続されて状態T3に移行し、スクリーニングが開始される。スクリーニング終了後は、半導体記憶装置1と電源装置40との間の電源線12が切断され、半導体記憶装置1とテスタ装置43とが電源線12とインターフェース11とで接続され、ファームウェア領域2Fが書き換えられ状態T3から状態T4への遷移、電源線12切断後に再度電源線12が接続される。こうして、最終的に状態がT1に遷移する。なお、downloadmicrocodeコマンドの使用によるファームウェア領域2Fの書き換え後、電源切入を経ないと状態T2からT3や、T4からT1への遷移は起こらないと説明した。しかしながら、これに限らず、downloadmicrocodeコマンドの受信後即座にT1→T2→T3の状態遷移や、T3→T4→T1の状態遷移が電源切入を経ずに起こるようにしてもよい。また電源切入の代わりに、電源切入時の内部処理をファームウェアに実現させるコマンドを使用することで、電源切入を擬似的に実現しても良い。説明の便宜上、通常モード用ファームウェアが書き込まれている状態から説明を開始した。しかしながら、半導体記憶装置1に自走モード用ファームウェアが書き込まれている状態状態T3から開始しても、上記の説明に変わりはない。以上説明したように、第4実施形態では、通常モード用のファームウェアと自走モード用のファームウェアが用意される。これにより、通常モードと自走モードを明確に分離して処理したり、通常モード用ファームウェアと自走モード用ファームウェアを明確に分離してファームウェアを開発することが可能であるため、スクリーニング処理部が通常モードにおいて誤って動作したり、スクリーニング処理においてリトライ読み出しが行われたりすることを防止することができる。また、通常モード用ファームウェアと自走モード用ファームウェアを明確に分離して独立した開発チームによりファームウェアを開発することが可能となるため、ファームウェアの開発効率の点でも望ましい。また、半導体記憶装置の出荷前に自走モード用ファームウェアは通常モード用ファームウェアに書き換えられるため、出荷後の記憶装置から自走モード用ファームウェアの処理内容をリバースエンジニアリングされることを防止できる。第5実施形態第5実施形態は、ファームウェアによる通常モードおよび自走モードの切り替えに関し、第1~第3実施形態の任意のものに適用可能である。第5実施形態は、モードの切り替え方が第4実施形態と異なる。図21は、第5実施形態に係るファームウェアに応じた半導体記憶装置のモードの移行の例を示している。第5実施形態では、ファームウェアは、通常モード用の部分と自走モード用の部分の両方を含んでいる。やはり、説明の開始として、半導体記憶装置1には通常モードで起動している状態T11とする。この状態で、半導体記憶装置1への電源の遮断および再投入の度に、半導体記憶装置1は状態T11に入る。状態T11において、テスタ装置43から発行されるコマンドにより半導体記憶装置1は状態T12に移行させられる。コマンドは、上記のように、半導体記憶装置1がサポートするインターフェースにおいて定義されているコマンドを用いて行うことができる。例えば、上記のように、INCITSACS2準拠のSCTコマンドやその他ベンダー独自コマンドが用いられる。コマンドは、記憶装置制御部3において受信される。状態T2にある半導体記憶装置1への電源遮断後に電源を供給すると、半導体記憶装置1は自走モードで起動して状態T13に移行する。状態T13にある半導体記憶装置1への電源の遮断および再投入の度に、半導体記憶装置1は状態T13に入る。すなわち、自走モードで起動する。状態T13にある半導体記憶装置1において、第1~第3実施形態に基づいてスクリーニングが行われる。スクリーニング終了後、コマンドにより半導体記憶装置1は、状態T14に移行させられる。状態T14にある半導体記憶装置1への電源遮断後に電源を供給すると、半導体記憶装置1は通常モードで起動して状態T11に移行する。テスタ装置43は、第4実施形態図20と同じく、スクリーニングの前に電源線12とインターフェース11とを介して半導体記憶装置1に接続される。次いで、状態T11から状態T12への遷移コマンドがテスタ装置43から発行され、半導体記憶装置1とテスタ装置43との間の電源線12およびインターフェース11とが切断される。次に、半導体記憶装置1と電源装置40とが電源線12で接続されて状態T13に移行し、スクリーニングが開始され、スクリーニング終了後に半導体記憶装置1と電源装置40との間の電源線12が切断される。次に、半導体記憶装置1とテスタ装置43とが電源線12とインターフェース11とで接続され、状態T13から状態T14への遷移コマンドがテスタ装置43から発行され、電源線12切断後に再度電源線12が接続される。こうして、最終的に状態がT11に遷移する。なお、状態遷移コマンドの使用によるファームウェア領域2Fの書き換え後、電源切入を経ないと状態T12からT13や、T14からT11への遷移は起こらないと説明した。しかしながら、これに限らず、遷移コマンドの受信後即座にT11→T12→T13の状態遷移やT13→T14→T11の状態遷移が電源切入を経ずして起こるようにしてもよい。また電源切入の代わりに、電源切入時の内部処理をファームウェアに実現させるコマンドを使用することで、電源切入を擬似的に実現しても良い。以上説明したように、第5実施形態では、通常モードおよび自走モード切り替えに関し、遷移コマンドが用いられる。これにより、通常モードの機能と自走モードの機能を同一のファームウェアに共存させることができる。この結果、半導体記憶装置の検査工程において余分なファームウェアの書き換えが発生せず、検査工程の効率化や検査工程の管理容易化やファームウェア書き換え失敗のリスク回避の点で望ましい。また、通常モードの機能と自走モードの機能を同一のファームウェアにおいて開発することにより開発フェーズにおいてファームウェアの一元管理が可能となり、プロジェクト管理の点で望ましい。第6実施形態第6実施形態は、半導体記憶装置の起動時の自走モードに関する。図22は、第6実施形態に係る半導体記憶装置を概略的に示すブロック図である。図22に示されるように、半導体記憶装置1は、図1に示される機能ブロックに加えて、温度センサ51を含んでいる。温度センサ51は、記憶装置制御部3と接続されている。図23は、第6実施形態に係る半導体記憶装置の起動時のフローチャートである。第6実施形態に係る起動は、図2に示される起動と、ステップS9からS10までの動作において相違する。図23に示されるように、ステップS9での判定がYesの場合、半導体記憶装置1は一定時間待機するステップS13。スクリーニングは、効率および信頼性を上げるために、半導体記憶装置1に熱ストレスがかかっている状態で行われることが好ましい。このため、半導体記憶装置1に対するスクリーニングは、図15に示されるように恒温槽41で行われることがある。そのような場合に、半導体記憶装置1が所望の温度に達するまでの昇温のために、ステップS13で半導体記憶装置1は待機する。次に、記憶装置制御部3は、温度センサ51からの信号により示される温度が、閾値TXを超えたかを判定するステップS14。閾値TXは、スクリーニングにおいて半導体記憶装置1が有することを意図されている温度である。恒温槽41中にも通常、温度計が備わっているが、半導体記憶装置1の温度を直接監視することにより、半導体記憶装置1の温度をより厳密に制御できる。ステップS14での判断がNoの場合、フローはステップS13に戻り、Yesの場合、半導体記憶装置1は自走モードに入るステップS10。第6実施形態の記述において触れていない全ての点について、第1実施形態の記述が第6実施形態にも適用される。また、第2~第5実施形態が第1実施形態に適用可能無なように、これらの実施形態の1または複数のいずれもが第6実施形態と組み合わせられることが可能である。以上説明したように、第6実施形態に係る半導体記憶装置によれば、第1実施形態と同じく、通常モード時はリトライ読み出しが行われ、スクリーニング自走モードの際は、リトライ読み出しは行われない。この点に基づき、第1実施形態と同じ利点を得られる。また、第6実施形態では、半導体記憶装置1の温度に基づいて半導体記憶装置1は自走モードに入る。このため、恒温槽41の温度制御に影響されずに、高精度で一定上の温度でストレス工程を実施できる。その他、各実施形態は、上記のものに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で、種々に変形することが可能である。さらに、上記実施形態には種々の段階が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の実施形態が抽出され得る。例えば、上記各実施形態に示される全構成要件から幾つかの構成要件が削除されても、この構成要件が削除された構成が実施形態として抽出され得る。