(57)【要約】【課題】１つの実施形態は、例えば、出荷後においてメモリセルの動作特性を変更できる半導体記憶装置を提供することを目的とする。【解決手段】１つの実施形態によれば、メモリセルアレイと記憶部と選択部と起動処理部と動作制御部とを有することを特徴とする半導体記憶装置が提供される。メモリセルアレイでは、複数のメモリセルが配列されている。記憶部は、選択される候補となる複数の動作パラメータを予め記憶する。選択部は、ユーザからの変更指示に応じて、前記複数の動作パラメータのうち前記メモリセルを動作させるために使用すべき動作パラメータを選択する。起動処理部は、ユーザからの起動指示に応じて、電源を起動するとともに、前記選択部により選択された動作パラメータを前記記憶部から読み出して使用可能な状態に設定する。動作制御部は、前記起動処理部により使用可能な状態に設定された動作パラメータを使用して、前記メモリセルを動作させる。【選択図】図１
2012203951.tif 000002
【特許請求の範囲】
【請求項１】
複数のメモリセルが配列されたメモリセルアレイと、
選択される候補となる複数の動作パラメータを予め記憶する記憶部と、
ユーザからの変更指示に応じて、前記複数の動作パラメータのうち前記メモリセルを動作させるために使用すべき動作パラメータを選択する選択部と、
ユーザからの起動指示に応じて、電源を起動するとともに、前記選択部により選択された動作パラメータを前記記憶部から読み出して使用可能な状態に設定する起動処理部と、
前記起動処理部により使用可能な状態に設定された動作パラメータを使用して、前記メモリセルを動作させる動作制御部と、
を備えたことを特徴とする半導体記憶装置。
【請求項２】
信頼性を優先する第１の動作モードとパフォーマンスを優先する第２の動作モードとを含む複数の動作モードのうち、ユーザからの前記変更指示に応じた動作モードを決定する決定部をさらに備え、
前記選択部は、前記変更指示により決定された動作モードに応じて、前記メモリセルを動作させるために使用すべき動作パラメータを選択する
ことを特徴とする請求項１に記載の半導体記憶装置。
【請求項３】
前記記憶部は、前記メモリセルアレイの周辺に配されたＯＴＰ（Ｏｎｅ  Ｔｉｍｅ  Ｐｒｏｇｒａｍｍａｂｌｅ）型のＲＯＭ領域である
ことを特徴とする請求項１又は２に記載の半導体記憶装置。
【請求項４】
前記記憶部は、前記メモリセルアレイ内に配されたＲＯＭ領域である
ことを特徴とする請求項１又は２に記載の半導体記憶装置。
【請求項５】
初期動作パラメータを予め記憶する第２の記憶部と、
ユーザからの前記変更指示に応じて、前記選択部により選択された動作パラメータを前記記憶部から読み出し前記初期動作パラメータに代えて前記第２の記憶部に記憶させる記憶制御部と、
ユーザからの第２の起動指示に応じて、前記選択部により選択された動作パラメータを前記第２の記憶部から読み出して使用可能な状態に設定する第２の起動処理部と、
をさらに備えた
ことを特徴とする請求項１から４のいずれか１項に記載の半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、半導体記憶装置に関する。
【背景技術】
【０００２】
従来のＮＡＮＤ型フラッシュメモリでは、ユーザからの多様な性能要求があった場合に、出荷前の検査工程においてメモリセルの動作パラメータの調整が行われている。しかし、出荷後においても、ユーザは、ＮＡＮＤ型フラッシュメモリにおけるメモリセルの動作特性を変更したいと希望することがある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−１１００３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
１つの実施形態は、例えば、出荷後においてメモリセルの動作特性を変更できる半導体記憶装置を提供することを目的とする。
【課題を解決するための手段】
【０００５】
１つの実施形態によれば、メモリセルアレイと記憶部と選択部と起動処理部と動作制御部とを備えたことを特徴とする半導体記憶装置が提供される。メモリセルアレイでは、複数のメモリセルが配列されている。記憶部は、選択される候補となる複数の動作パラメータを予め記憶する。選択部は、ユーザからの変更指示に応じて、前記複数の動作パラメータのうち前記メモリセルを動作させるために使用すべき動作パラメータを選択する。起動処理部は、ユーザからの起動指示に応じて、電源を起動するとともに、前記選択部により選択された動作パラメータを前記記憶部から読み出して使用可能な状態に設定する。動作制御部は、前記起動処理部により使用可能な状態に設定された動作パラメータを使用して、前記メモリセルを動作させる。
【図面の簡単な説明】
【０００６】
【図１】第１の実施形態にかかる半導体記憶装置の構成を示す図。
【図２】第１の実施形態における読み出しコマンドのシーケンスを示す図。
【図３】第１の実施形態における半導体記憶装置の動作を示すフローチャート。
【図４】第１の実施形態における半導体記憶装置の動作を示すフローチャート。
【図５】第１の実施形態による効果を示す図。
【図６】第２の実施形態にかかる半導体記憶装置の構成を示す図。
【図７】第２の実施形態における半導体記憶装置の動作を示すフローチャート。
【図８】第３の実施形態における半導体記憶装置の動作を示すフローチャート。
【図９】第４の実施形態にかかる半導体記憶装置の構成を示す図。
【図１０】第１〜第４の実施形態にかかる半導体記憶装置を適用したメモリシステムの構成を示す図。
【図１１】第１〜第４の実施形態にかかる半導体記憶装置を適用したメモリシステムの構成を示す図（変形例）。
【発明を実施するための形態】
【０００７】
以下に添付図面を参照して、実施形態にかかる半導体記憶装置を詳細に説明する。なお、これらの実施形態により本発明が限定されるものではない。
【０００８】
（第１の実施形態）
第１の実施形態にかかる半導体記憶装置について図１を用いて説明する。図１は、半導体記憶装置の構成を示す図である。
【０００９】
半導体記憶装置は、不揮発性半導体メモリであり、例えばＮＡＮＤ型フラッシュメモリ（以下、ＮＡＮＤメモリとする）１を含む。以下では、半導体記憶装置がＮＡＮＤメモリ１である場合について例示的に説明する。
【００１０】
ＮＡＮＤメモリ１は、メモリセルアレイＭＡ１、ＭＡ２、ＲＯＭヒューズ１０、ＯＴＰ（Ｏｎｅ  Ｔｉｍｅ  Ｐｒｏｇｒａｍｍａｂｌｅ）型のＲＯＭ２０、コントローラ３０、レジスタ４０を備える。
【００１１】
メモリセルアレイＭＡ１、ＭＡ２では、それぞれ、複数のメモリセルが例えば行方向及び列方向に配列されている。メモリセルアレイＭＡ１、ＭＡ２では、行方向に延びた複数のワードラインにおける選択ワードラインと列方向に延びた複数のビットラインにおける選択ビットラインとによりメモリセルが選択され動作する。各メモリセルは、上位ページおよび下位ページを使用して多値記憶が可能である。メモリセルアレイＭＡ１、ＭＡ２では、データ消去の単位である物理ブロックを複数配列して構成される。メモリセルアレイＭＡ１、ＭＡ２では、物理ページごとにデータの書き込みおよびデータの読み出しが行われる。物理ブロックは、複数の物理ページによって構成されている。
【００１２】
ＲＯＭヒューズ１０には、初期動作パラメータが予め出荷前に記憶されている。初期動作パラメータは、各メモリセルの初期設定時（出荷時）の状態に適したものとして出荷前に決定された各メモリセルの動作条件に関するパラメータである。初期動作パラメータは、例えば、以下のようなパラメータ（のセット）を含む。
（１）書き込み（ｐｒｏｇ）時
・ｓｔａｒｔ  Ｖｐｇｍ：１回目に印加する書き込み電圧
・ΔＶｐｇｍ：書き込み電圧のｓｔｅｐ  ｓｉｚｅ
・ｐｕｌｓｅ幅：書き込み電圧のパルスの幅
・Ｐｒｏｇｒａｍ  Ｖｅｒｉｆｙ  ｌｅｖｅｌ：書き込み時のベリファイ電圧
・非選択ＷＬ（ＷｏｒｄＬｉｎｅ）  Ｖｏｌｔａｇｅ：書き込み時に選択されていないワードラインに印加される電圧
（２）読み込み（ｒｅａｄ）時
・Ｖｒｅａｄ：読み出し時に選択されていないワードラインに印加される電圧
・Ｔｓｅｎｓｅ：読み出し時のセンス時間
・Ｔｂｌｃｈ：選択ＢＬ（Ｂｉｔ  Ｌｉｎｅ）を充電する時間（ＢＬ充電時間）
・ｒｅａｄ  ｌｅｖｅｌ：メモリセルの閾値を判断する読み出し電圧
（３）消去（Ｅｒａｓｅ）時
・ｓｔａｒｔ  Ｖｅｒａ：１回目に印加する消去電圧
・ΔＶｅｒａ：消去電圧のｓｔｅｐ  ｓｉｚｅ
・消去Ｖｅｒａ  Ｖｏｌｔａｇｅ  Ｐｕｌｓｅ幅：消去電圧のパルスの幅
・Ｅｒａｓｅ  Ｖｅｒｉｆｙ  ｌｅｖｅｌ：消去時のベリファイ電圧
【００１３】
ＯＴＰ型のＲＯＭ２０は、メモリセルアレイＭＡ１、ＭＡ２の周辺に配されている。ＯＴＰ型のＲＯＭ２０は、ＯＴＰ機能を有するＲＯＭ領域である。すなわち、ＯＴＰ型のＲＯＭ２０は消去コマンドを受け付けないように構成されており、ＯＴＰ型のＲＯＭ２０に１回書き込まれたデータは消去できないようになっている。
【００１４】
ＯＴＰ型のＲＯＭ２０には、後述する選択部３２により選択される候補となる複数の動作パラメータを予め出荷前に記憶されている。複数の動作パラメータは、例えば、各メモリセルの出荷後の経時的な劣化状態の複数レベルに対応したものとして出荷前に決定された各メモリセルの動作条件に関するパラメータを含む。複数の動作パラメータのそれぞれは、例えば、上記のような初期動作パラメータと同様の項目について初期動作パラメータの値からシフトさせた値を有するパラメータを含む。
【００１５】
複数の動作パラメータは、例えば、初期動作パラメータの書き込み電圧Ｖｐｇｍよりも低い値の書き込み電圧Ｖｐｇｍ１、Ｖｐｇｍ２を含む。複数の動作パラメータは、例えば、初期動作パラメータの消去電圧Ｖｅｒａよりも高い値の消去電圧Ｖｅｒａ１、Ｖｅｒａ２を含む。複数の動作パラメータは、例えば、初期動作パラメータのセンス時間Ｔｓｅｎｓｅよりも長い値のセンス時間Ｔｓｅｎｓｅ１、Ｔｓｅｎｓｅ２を含む。複数の動作パラメータは、例えば、初期動作パラメータのＢＬ充電時間Ｔｂｌｃｈよりも長い値のＢＬ充電時間Ｔｂｌｃｈ１、Ｔｂｌｃｈ２を含む。
【００１６】
コントローラ３０は、ＮＡＮＤメモリ１における各部の動作を制御する。具体的には、コントローラ３０は、起動処理部３１、選択部３２、起動処理部３３、及び動作制御部３４を有する。
【００１７】
起動処理部３１は、ユーザからの起動指示「Ｐｏｗｅｒ  Ｏｎ  Ｒｅａｄ」に応じて生成された電源起動コマンド及び第１の読み出しコマンドを外部（例えば、図１０に示すコントローラ３）から受ける。起動処理部３１は、電源起動コマンドに従って、ＮＡＮＤメモリ１内の電源回路（図示せず）を起動する。起動処理部３１は、電源回路の起動が完了したことを認識したら、第１の読み出しコマンドに従って、ＲＯＭヒューズ１０に記憶された初期動作パラメータを読み出してレジスタ４０に転送し記憶する。これにより、初期動作パラメータは、使用可能な状態に設定される。
【００１８】
また、起動処理部３１は、ユーザからの起動指示「Ｐａｒａｍｅｔｅｒ  ｒｅａｄ  ａｎｄ  ｓｅｔ」に応じて生成された第１の読み出しコマンドを外部（例えば、図１０に示すコントローラ３）から受ける。起動処理部３１は、電源回路の起動が完了したことを認識したら、第１の読み出しコマンドに従って、ＲＯＭヒューズ１０に記憶された初期動作パラメータを読み出してレジスタ４０に転送し記憶する。これにより、初期動作パラメータは、使用可能な状態に設定される。
【００１９】
選択部３２は、ユーザからの変更指示に応じて生成された変更コマンドを外部から受ける。選択部３２は、変更コマンド（変更命令）に従って、ＯＴＰ型のＲＯＭ２０に記憶された複数の動作パラメータのうち各メモリセルを動作させるために使用すべき動作パラメータを選択する。具体的には、選択部３２は、ＯＴＰ型のＲＯＭ２０にアクセスしてＯＴＰ型のＲＯＭ２０に記憶された複数の動作パラメータ及びそれらのアドレスを認識し、複数の動作パラメータのうちユーザからの変更指示に応じたものを選択し、選択された動作パラメータのアドレスを保持する。
【００２０】
起動処理部３３は、ユーザからの起動指示「Ｐａｒａｍｅｔｅｒ  ｒｅａｄ  ａｎｄ  ｓｅｔ」に応じて生成された電源起動コマンド及び第２の読み出しコマンドを外部から受ける。起動処理部３３は、電源起動コマンドに従って、ＮＡＮＤメモリ１内の電源回路（図示せず）を起動する。起動処理部３３は、電源回路の起動が完了したことを認識したら、第２の読み出しコマンドに従って、選択部３２により選択された動作パラメータをＯＴＰ型のＲＯＭ２０から読み出す。すなわち、起動処理部３３は、第２の読み出しコマンドに従って、選択部３２により保持されたＯＴＰ型のＲＯＭ２０内のアドレスにアクセスして動作パラメータを読み出す。起動処理部３３は、読み出された動作パラメータをレジスタ４０に転送し記憶する。これにより、読み出された動作パラメータは、使用可能な状態に設定される。
【００２１】
動作制御部３４は、レジスタ４０にアクセスして、各メモリセルを動作させるために使用すべき動作パラメータを認識する。動作制御部３４は、その認識した動作パラメータを用いて、メモリセルアレイＭＡ１、ＭＡ２における各メモリセルに対して、書き込み動作、読み出し動作、消去動作を行わせる。すなわち、動作制御部３４は、起動処理部３３により使用可能な状態に設定された動作パラメータを使用して、各メモリセルを動作させる。
【００２２】
次に、第２の読み出しコマンドのシーケンスについて図２を用いて説明する。図２は、第２の読み出しコマンドのシーケンスを示す図である。
【００２３】
起動処理部３３は、電源回路の起動が完了したことを認識したら、ＮＡＮＤメモリ１の動作モードをテストモードにする。起動処理部３３は、読み出しを示すコマンド「５Ａｈ」、コマンド「ＢＥｈ」、アドレス「Ａｄｄ」を入力して、ＯＴＰ型のＲＯＭ２０から動作パラメータを読み出す読み出し処理を実行する。起動処理部３３は、読み出した動作パラメータのデータをコントローラ３０内のキャッシュメモリ（図示せず）に転送して一時記憶する。そして、起動処理部３３は、キャッシュメモリに一時記憶されている動作パラメータのデータをレジスタ４０へ転送し、レジスタ４０に既に記憶されている初期動作パラメータを転送された動作パラメータで上書き記憶する。
【００２４】
これにより、レジスタ４０内の動作パラメータが書き換わる。例えば、過去に行われた第１の読み出しコマンドに従って初期動作パラメータがレジスタ４０に既に記憶されている場合、レジスタ４０に保持された各メモリセルの動作に使用されるべき動作パラメータが、初期動作パラメータから上記の動作パラメータに書き換わる。
【００２５】
次に、ＮＡＮＤメモリ１の動作について図３を用いて説明する。図３は、ＮＡＮＤメモリ１の動作を示すフローチャートである。
【００２６】
図３に示す処理のうち、ステップＳ１の処理はＮＡＮＤメモリ１の出荷前に行われ、ステップＳ２以降の処理はＮＡＮＤメモリ１の出荷後に行われる。
【００２７】
ステップＳ１では、ＲＯＭヒューズ１０に、初期動作パラメータを記憶する。また、ＯＴＰ型のＲＯＭ２０に、選択部３２により選択される候補となる複数の動作パラメータを記憶する。すなわち、出荷前において、各メモリセルの出荷後の予想される経時的な劣化状態を複数のレベルにランク付けし、各レベルに応じて初期動作パラメータの値からシフトさせた値を決定する。そのようにシフトされた値を有する複数の動作パラメータＯＰ１、ＯＰ２をＯＴＰ型のＲＯＭ２０に記憶する。
【００２８】
ステップＳ２では、選択部３２が、ユーザからの変更指示に応じて生成された変更コマンドを外部から受けたか否かを判断する。選択部３２は、変更コマンドを受けていない場合（ステップＳ２でＮｏ）、処理をステップＳ２に戻し、変更コマンドを受けた場合（ステップＳ２でＹｅｓ）、処理をステップＳ３に進める。
【００２９】
ステップＳ３では、選択部３２が、ＯＴＰ型のＲＯＭ２０に記憶された複数の動作パラメータのうち各メモリセルを動作させるために使用すべき動作パラメータを選択する。具体的には、選択部３２は、ＯＴＰ型のＲＯＭ２０にアクセスしてＯＴＰ型のＲＯＭ２０に記憶された複数の動作パラメータ及びそれらのアドレス「Ａｄｄ」を認識し、複数の動作パラメータのうちユーザからの変更指示に応じたものを選択し、選択された動作パラメータのアドレス「Ａｄｄ」を保持する。
【００３０】
ステップＳ４では、起動処理部３３が、ユーザからの起動指示「Ｐａｒａｍｅｔｅｒ  ｒｅａｄ  ａｎｄ  ｓｅｔ」に応じて生成された電源起動コマンド及び第２の読み出しコマンドを外部から受けたか否かを判断する。起動処理部３３は、電源起動コマンド及び第２の読み出しコマンドを受けていない場合（ステップＳ４でＮｏ）、処理をステップＳ４に戻し、電源起動コマンド及び第２の読み出しコマンドを受けた場合（ステップＳ４でＹｅｓ）、処理をステップＳ５に進める。
【００３１】
ステップＳ５では、起動処理部３３が、電源起動コマンドに従って、ＮＡＮＤメモリ１内の電源回路（図示せず）を起動する。そして、起動処理部３３は、例えば、ＮＡＮＤメモリ１内の電源ライン（図示せず）のレベルをモニターすることにより、電源回路の起動が完了したことを認識する。起動処理部３３は、電源回路の起動が完了したことを認識したら、処理をステップＳ６へ進める。
【００３２】
ステップＳ６では、起動処理部３１が、ユーザからの起動指示「Ｐａｒａｍｅｔｅｒ  ｒｅａｄ  ａｎｄ  ｓｅｔ」に応じて生成された第１の読み出しコマンドを外部（例えば、図１０に示すコントローラ３）から受ける。起動処理部３１は、電源回路の起動が完了したことを認識したら、第１の読み出しコマンドに従って、ＲＯＭヒューズ１０に記憶された初期動作パラメータを読み出してレジスタ４０に転送し記憶する。これにより、初期動作パラメータは、使用可能な状態に設定される。
【００３３】
そして、起動処理部３３は、第２の読み出しコマンドに従って、選択部３２により選択された動作パラメータをＯＴＰ型のＲＯＭ２０から読み出す。具体的には、以下のステップＳ６Ａ及びＳ６Ｂの処理を行う。
【００３４】
ステップＳ６Ａでは、起動処理部３３は、第２の読み出しコマンドに従って、選択された動作パラメータのアドレス「Ａｄｄ」を選択部３２から受ける。これにより、起動処理部３３は、選択された動作パラメータのアドレス「Ａｄｄ」を認識する。
【００３５】
ステップＳ６Ｂでは、起動処理部３３が、第２の読み出しコマンドに従って、選択部３２により選択された動作パラメータをＯＴＰ型のＲＯＭ２０から読み出す。すなわち、起動処理部３３は、第２の読み出しコマンドに従って、選択部３２により保持されたＯＴＰ型のＲＯＭ２０内のアドレス「Ａｄｄ」にアクセスして動作パラメータを読み出す。例えば、起動処理部３３は、ＯＴＰ型のＲＯＭ２０内の記憶領域２０ａのアドレスにアクセスして動作パラメータＯＰ１を読み出す。あるいは、例えば、起動処理部３３は、ＯＴＰ型のＲＯＭ２０内の記憶領域２０ｂのアドレスにアクセスして動作パラメータＯＰ２を読み出す。起動処理部３３は、読み出された動作パラメータをレジスタ４０に転送し、レジスタ４０に既に記憶されている初期動作パラメータを転送された動作パラメータで上書き記憶する。これにより、読み出された動作パラメータは、使用可能な状態に設定される。
【００３６】
ステップＳ７では、動作制御部３４が、レジスタ４０にアクセスして、各メモリセルを動作させるために使用すべき動作パラメータ（すなわち、変更後の動作パラメータ）を認識する。動作制御部３４は、その認識した動作パラメータを用いて、メモリセルアレイＭＡ１、ＭＡ２における各メモリセルに対して、書き込み動作、読み出し動作、消去動作を行わせる。すなわち、動作制御部３４は、起動処理部３３により使用可能な状態に設定された動作パラメータを使用して、各メモリセルを動作させる。
【００３７】
次に、動作パラメータを選択する処理（ステップＳ３）の詳細について図４を用いて説明する。図４は、動作パラメータを選択する処理（ステップＳ３）における処理の流れを示すフローチャートである。
【００３８】
ステップＳ１１では、選択部３２が、ユーザからの変更指示に応じて生成された変更コマンドを外部から受ける。選択部３２は、変更コマンドの内容に基づき、ユーザからの変更指示の内容が信頼性向上に関するものか否かを判断する。選択部３２は、信頼性向上に関するものである場合（ステップＳ１１でＹｅｓ）、処理をステップＳ１２へ進め、信頼性向上に関するものでない場合（ステップＳ１１でＮｏ）、処理をステップＳ１３へ進める。
【００３９】
ステップＳ１２では、選択部３２が、書き換え回数／消去回数の情報を外部（例えば、図１０に示すコントローラ３）から受ける。書き換え回数／消去回数は、例えば、多数の物理ブロックについての検証データの平均をとった物理ブロック単位の平均値である。選択部３２は、書き換え回数／消去回数が閾値ＴＨ以上であるか否かを判断する。選択部３２は、書き換え回数／消去回数が閾値ＴＨ未満である場合（ステップＳ１２で「ＴＨ未満」）、処理をステップＳ１３へ進め、書き換え回数／消去回数が閾値ＴＨ以上である場合（ステップＳ１２で「ＴＨ以上」）、処理をステップＳ１４へ進める。
【００４０】
ステップＳ１３では、選択部３２が、ＯＴＰ型のＲＯＭ２０に記憶された複数の動作パラメータのうち、信頼性ＲＬ１の動作パラメータＯＰ１を選択する。動作パラメータＯＰ１は、初期動作パラメータよりも信頼性が向上するように予め決定されたパラメータである。
【００４１】
動作パラメータＯＰ１は、例えば、初期動作パラメータの書き込み電圧Ｖｐｇｍよりも低い値の書き込み電圧Ｖｐｇｍ１を含む。動作パラメータＯＰ１は、例えば、初期動作パラメータの消去電圧Ｖｅｒａよりも高い値の消去電圧Ｖｅｒａ１を含む。動作パラメータＯＰ１は、例えば、初期動作パラメータのセンス時間Ｔｓｅｎｓｅよりも長い値のセンス時間Ｔｓｅｎｓｅ１を含む。動作パラメータＯＰ１は、例えば、初期動作パラメータのＢＬ充電時間Ｔｂｌｃｈよりも長い値のＢＬ充電時間Ｔｂｌｃｈ１を含む。
【００４２】
ステップＳ１４では、選択部３２が、ＯＴＰ型のＲＯＭ２０に記憶された複数の動作パラメータのうち、信頼性ＲＬ２（＞ＲＬ１）の動作パラメータＯＰ２を選択する。すなわち、選択部３２は、ステップＳ１２で書き換え回数／消去回数が閾値ＴＨ以上であると判断されたことから信頼性のレベルをステップＳ１３より高い信頼性ＲＬ２まで向上させるべきであると認識し、信頼性ＲＬ２（＞ＲＬ１）の動作パラメータＯＰ２を選択する。動作パラメータＯＰ２は、初期動作パラメータ及び動作パラメータＯＰ１よりも信頼性が向上するように予め決定されたパラメータである。
【００４３】
動作パラメータＯＰ２は、例えば、初期動作パラメータの書き込み電圧Ｖｐｇｍよりも低く、且つ、上記の書き込み電圧Ｖｐｇｍ１よりも低い値の書き込み電圧Ｖｐｇｍ２を含む。動作パラメータＯＰ２は、例えば、初期動作パラメータの消去電圧Ｖｅｒａよりも高く、且つ、上記の消去電圧Ｖｅｒａ１よりも高い値の消去電圧Ｖｅｒａ２を含む。動作パラメータＯＰ２は、例えば、初期動作パラメータのセンス時間Ｔｓｅｎｓｅよりも長く、且つ、上記のセンス時間Ｔｓｅｎｓｅ１よりも長い値のＴｓｅｎｓｅ２を含む。動作パラメータＯＰ２は、例えば、初期動作パラメータのＢＬ充電時間Ｔｂｌｃｈよりも長く、且つ、上記のＢＬ充電時間Ｔｂｌｃｈ１よりも長い値のＢＬ充電時間Ｔｂｌｃｈ２を含む。
【００４４】
以上のように、第１の実施形態では、ＯＴＰ型のＲＯＭ２０にＲＯＭヒューズ１０とは異なる複数の動作パラメータのデータをあらかじめ書き込んでおき、ユーザからの変更指示に応じて複数の動作パラメータのうち各メモリセルの動作に使用すべき動作パラメータを選択する。そして、ユーザからの起動指示「Ｐａｒａｍｅｔｅｒ  ｒｅａｄ  ａｎｄ  ｓｅｔ」に応じて上記の選択された動作パラメータをＯＴＰ型のＲＯＭ２０から読み出してレジスタ４０に設定し、その設定された動作パラメータで各メモリセルを動作させる。これにより、出荷後においてメモリセルの動作特性を変更できる。
【００４５】
また、第１の実施形態では、ユーザからの変更指示に応じた動作パラメータを自動的に選択するので、動作パラメータの値についての高度な知識を要することなく、簡易な操作でメモリセルの動作特性を変更できる。すなわち、ユーザが簡単な操作を行うことでＮＡＮＤメモリ１の信頼性を上げることができる。
【００４６】
また、第１の実施形態では、ＯＴＰ型のＲＯＭ２０が、メモリセルアレイＭＡ１、ＭＡ２の周辺に配されている。これにより、メモリセルアレイＭＡ１、ＭＡ２が消費されることを抑制できる。また、消去コマンドを受け付けないようにＯＴＰ型のＲＯＭ２０を構成することが容易であるので、ＯＴＰ型のＲＯＭ２０に記憶された複数の動作パラメータがユーザにより誤って消去されることを避けることができる。
【００４７】
また、第１の実施形態では、ＯＴＰ型のＲＯＭ２０に予め記憶された複数の動作パラメータが、例えば、各メモリセルの出荷後の経時的な劣化状態の複数のレベルに対応したものとして出荷前に決定された各メモリセルの動作条件に関するパラメータを含む。これにより、ユーザからの変更指示と各メモリセルの出荷後の経時的な劣化状態のレベルとに応じて、多段階的にＮＡＮＤメモリ１の信頼性を向上できる。
【００４８】
具体的には、図４に示されるように、ユーザからの変更指示が信頼性向上に関するものでない場合、信頼性向上の要求レベルはそれほど高くないがユーザが現状の信頼性に満足しているわけではないものとして、現状から若干信頼性を向上するように信頼性ＲＬ１の動作パラメータＯＰ１を選択する。また、ユーザからの変更指示が信頼性向上に関するものであっても、書き換え回数／消去回数が閾値ＴＨ未満である場合、信頼性向上の要求レベルは高いが各メモリセルの劣化状態を考慮して信頼性向上の必要性がそれほど高くないものとして、現状から若干信頼性を向上するように信頼性ＲＬ１の動作パラメータＯＰ１を選択する。さらに、ユーザからの変更指示が信頼性向上に関するものであり、書き換え回数／消去回数が閾値ＴＨ以上である場合、信頼性向上の要求レベルは高く、且つ、各メモリセルの劣化状態を考慮して信頼性向上の必要性が高いものとして、現状から大幅に信頼性を向上するように信頼性ＲＬ２の動作パラメータＯＰ２を選択する。これにより、ユーザからの変更指示と各メモリセルの出荷後の経時的な劣化状態のレベルとに応じて、多段階的にＮＡＮＤメモリ１の信頼性を向上できる（図５参照）。
【００４９】
なお、選択部３２により選択される候補となる複数の動作パラメータは、ＯＴＰ型のＲＯＭ２０に記憶されている代わりに、メモリセルアレイＭＡ１、ＭＡ２内の消去コマンドを受け付けないように設定されたＲＯＭ領域に記憶されていても良い。
【００５０】
また、ＮＡＮＤメモリ１が高信頼性向けである場合、動作パラメータを選択する処理（ステップＳ３）は、図４のステップＳ１１が省略されたものであってもよい。すなわち、ユーザからの変更指示の内容に関わらず、図４のステップＳ１２の処理が行われてもよい。これにより、高信頼性向けのＮＡＮＤメモリ１において、Ｗ／Ｅ回数に応じて必要な動作パラメータを選択してメモリセルの動作に用いて信頼性を上げることができる。
【００５１】
（第２の実施形態）
次に、第２の実施形態にかかる半導体記憶装置について図６を用いて説明する。図６は、半導体記憶装置の構成を示す図である。以下では、第１の実施形態と異なる部分を中心に説明する。
【００５２】
第２の実施形態にかかる半導体記憶装置としてのＮＡＮＤメモリ１００は、信頼性を優先する動作モード「Ｂモード」とパフォーマンスを優先する動作モード「Ｃモード」とを含む複数の動作モード「Ａモード」〜「Ｅモード」を有する。ＮＡＮＤメモリ１００は、コントローラ１３０を備える。コントローラ１３０は、決定部１３５を有する。
【００５３】
決定部１３５は、ユーザからの変更指示に応じて生成された変更コマンドを外部から受ける。決定部１３５は、変更コマンドに従って、ＮＡＮＤメモリ１００の複数の動作モード「Ａモード」〜「Ｅモード」のうち、ユーザからの変更指示に応じた動作モードを決定する。
【００５４】
選択部３２は、ユーザからの変更指示に応じて決定された動作モードに応じて、各メモリセルを動作させるために使用すべき動作パラメータを選択する。選択部３２は、複数の動作パラメータのうち動作モードに応じたものを選択し、選択された動作パラメータのアドレスを保持する。
【００５５】
また、動作パラメータを選択する処理（ステップＳ３）の詳細が、図７に示すように、第１の実施形態と異なる。図７は、動作パラメータを選択する処理（ステップＳ３）における処理の流れを示すフローチャートである。
【００５６】
ステップＳ２１では、決定部１３５が、ユーザからの変更指示に応じて生成された変更コマンドを外部から受ける。決定部１３５は、変更コマンドの内容に基づき、ユーザからの変更指示の内容が何に関するものかを判断する。決定部１３５は、ユーザからの変更指示の内容が、書き換え回数／消去回数に応じて信頼性を上げるものである場合（ステップＳ２１で「Ｗ／Ｅ回数」）、処理をステップＳ２２へ進める。決定部１３５は、ユーザからの変更指示の内容が、パフォーマンス（読み出し処理時間ｔＲ／書き込み処理時間ｔＰＲＯＧ／消去処理時間ｔＥＲＡＳＥ）を犠牲にして信頼性を上げるものである場合（ステップＳ２１で「信頼性優先」）、処理をステップＳ２３へ進める。決定部１３５は、ユーザからの変更指示の内容が、信頼性を犠牲にしてパフォーマンスを上げるものである場合（ステップＳ２１で「パフォーマンス優先」）、処理をステップＳ２４へ進める。決定部１３５は、ユーザからの変更指示の内容が、信頼性要求（要求Ｗ／Ｅ回数、ＥＣＣ数）に関するものである場合（ステップＳ２１で「信頼性要求」）、処理をステップＳ２５へ進める。決定部１３５は、ユーザからの変更指示の内容が、アプリケーション用途に関するものである場合（ステップＳ２１で「アプリケーション用途」）、処理をステップＳ２６へ進める。
【００５７】
ステップＳ２２では、決定部１３５が、ＮＡＮＤメモリ１００の動作モードをＡモードに決定する。決定部１３５は、動作モードがＡモードであることを示す情報を選択部３２へ供給する。選択部３２は、動作モードがＡモードであることに応じて、書き換え回数／消去回数を判断するための閾値ＴＨにＡモード用の閾値ＴＨ１を設定する。閾値ＴＨ１は、例えば、標準的な閾値である。そして、選択部３２は、処理をステップＳ２７へ進める。
【００５８】
ステップＳ２３では、決定部１３５が、ＮＡＮＤメモリ１００の動作モードをＢモードに決定する。決定部１３５は、動作モードがＢモードであることを示す情報を選択部３２へ供給する。選択部３２は、動作モードがＢモードであることに応じて、書き換え回数／消去回数を判断するための閾値ＴＨにＢモード用の閾値ＴＨ２（＜ＴＨ１）を設定する。閾値ＴＨ２は、閾値ＴＨ１に対して、信頼性が優先されるように低くした閾値である。そして、選択部３２は、処理をステップＳ２７へ進める。
【００５９】
ステップＳ２４では、決定部１３５が、ＮＡＮＤメモリ１００の動作モードをＣモードに決定する。決定部１３５は、動作モードがＣモードであることを示す情報を選択部３２へ供給する。選択部３２は、動作モードがＣモードであることに応じて、書き換え回数／消去回数を判断するための閾値ＴＨにＣモード用の閾値ＴＨ３（＞ＴＨ１）を設定する。閾値ＴＨ３は、閾値ＴＨ１に対して、パフォーマンスが優先されるように高くした閾値である。そして、選択部３２は、処理をステップＳ２７へ進める。
【００６０】
ステップＳ２５では、決定部１３５が、ＮＡＮＤメモリ１００の動作モードをＤモードに決定する。決定部１３５は、動作モードがＤモードであることを示す情報を選択部３２へ供給する。選択部３２は、動作モードがＤモードであることに応じて、要求される書き換え回数／消去回数を判断するための閾値ＴＨにＤモード用の閾値ＴＨ４（＜ＴＨ１）を設定する。閾値ＴＨ４は、閾値ＴＨ１に対して、信頼性が優先されるように高くした閾値である。また、選択部３２は、動作モードがＤモードであることに応じて、ＥＣＣ（Ｅｒｒｏｒ  Ｃｈｅｃｋｉｎｇ  ａｎｄ  Ｃｏｒｒｅｃｔｉｏｎ）数（すなわち、ＥＣＣ処理により救済されたビット数）を判断するための閾値ＥＴＨにＤモード用の閾値ＥＴＨ４を設定する。そして、選択部３２は、処理をステップＳ２８へ進める。
【００６１】
ステップＳ２６では、決定部１３５が、ＮＡＮＤメモリ１００の動作モードをＥモードに決定する。決定部１３５は、動作モードがＥモードであることを示す情報を選択部３２へ供給する。選択部３２は、動作モードがＥモードであることに応じて、書き換え回数／消去回数を判断するための閾値ＴＨにＥモード用の閾値ＴＨ５を設定する。閾値ＴＨ５は、閾値ＴＨ１に対して、アプリケーション用に変更された閾値である。そして、選択部３２は、処理をステップＳ２７へ進める。
【００６２】
ステップＳ２７では、選択部３２が、書き換え回数／消去回数の情報を外部（例えば、図１０に示すコントローラ３）から受ける。選択部３２は、書き換え回数／消去回数が閾値ＴＨ以上であるか否かを判断する。選択部３２は、書き換え回数／消去回数が閾値ＴＨ未満である場合（ステップＳ２７で「ＴＨ未満」）、処理をステップＳ３１へ進め、書き換え回数／消去回数が閾値ＴＨ以上である場合（ステップＳ２７で「ＴＨ以上」）、処理をステップＳ３３へ進める。
【００６３】
ステップＳ２８では、選択部３２が、要求される書き換え回数／消去回数の情報を外部（例えば、図１０に示すコントローラ３）から受ける。選択部３２は、要求される書き換え回数／消去回数が閾値ＴＨ以上であるか否かを判断する。選択部３２は、要求される書き換え回数／消去回数が閾値ＴＨ未満である場合（ステップＳ２８で「ＴＨ未満」）、処理をステップＳ２９へ進め、書き換え回数／消去回数が閾値ＴＨ以上である場合（ステップＳ２８で「ＴＨ以上」）、処理をステップＳ３０へ進める。
【００６４】
ステップＳ２９では、選択部３２が、ＥＣＣ数の情報を外部（例えば、図１０に示すＥＣＣ回路２）から受ける。選択部３２は、ＥＣＣ数が閾値ＥＴＨ以上であるか否かを判断する。選択部３２は、ＥＣＣ数が閾値ＥＴＨ未満である場合（ステップＳ２９で「ＥＴＨ未満」）、処理をステップＳ３１へ進め、ＥＣＣ数が閾値ＥＴＨ以上である場合（ステップＳ２９で「ＥＴＨ以上」）、処理をステップＳ３２へ進める。
【００６５】
ステップＳ３０では、選択部３２が、ＥＣＣ数の情報を外部（例えば、図１０に示すＥＣＣ回路２）から受ける。選択部３２は、ＥＣＣ数が閾値ＥＴＨ以上であるか否かを判断する。選択部３２は、ＥＣＣ数が閾値ＥＴＨ未満である場合（ステップＳ３０で「ＥＴＨ未満」）、処理をステップＳ３３へ進め、ＥＣＣ数が閾値ＥＴＨ以上である場合（ステップＳ３０で「ＥＴＨ以上」）、処理をステップＳ３４へ進める。
【００６６】
ステップＳ３１では、選択部３２が、ＯＴＰ型のＲＯＭ２０に記憶された複数の動作パラメータのうち、信頼性ＲＬ１１の動作パラメータＯＰ１１を選択する。動作パラメータＯＰ１１は、初期動作パラメータよりも信頼性が低くなるがパフォーマンスを向上できるように予め決定されたパラメータである。
【００６７】
動作パラメータＯＰ１１は、例えば、初期動作パラメータの書き込み電圧Ｖｐｇｍよりも高い値の書き込み電圧Ｖｐｇｍ１１を含む。動作パラメータＯＰ１１は、例えば、初期動作パラメータの消去電圧Ｖｅｒａよりも低い値の消去電圧Ｖｅｒａ１１を含む。動作パラメータＯＰ１１は、例えば、初期動作パラメータのセンス時間Ｔｓｅｎｓｅよりも短い値のセンス時間Ｔｓｅｎｓｅ１１を含む。動作パラメータＯＰ１１は、例えば、初期動作パラメータのＢＬ充電時間Ｔｂｌｃｈよりも短い値のＢＬ充電時間Ｔｂｌｃｈ１１を含む。
【００６８】
ステップＳ３２では、選択部３２が、ＯＴＰ型のＲＯＭ２０に記憶された複数の動作パラメータのうち、信頼性ＲＬ１２（＞ＲＬ１１）の動作パラメータＯＰ１２を選択する。動作パラメータＯＰ１２は、初期動作パラメータよりも信頼性を向上できるように予め決定されたパラメータである。
【００６９】
動作パラメータＯＰ１２は、例えば、初期動作パラメータの書き込み電圧Ｖｐｇｍよりも低い値の書き込み電圧Ｖｐｇｍ１２を含む。動作パラメータＯＰ１２は、例えば、初期動作パラメータの消去電圧Ｖｅｒａよりも高い値の消去電圧Ｖｅｒａ１２を含む。動作パラメータＯＰ１２は、例えば、初期動作パラメータのセンス時間Ｔｓｅｎｓｅよりも短い値のセンス時間Ｔｓｅｎｓｅ１２を含む。動作パラメータＯＰ１２は、例えば、初期動作パラメータのＢＬ充電時間Ｔｂｌｃｈよりも短い値のＢＬ充電時間Ｔｂｌｃｈ１２を含む。
【００７０】
ステップＳ３３では、選択部３２が、ＯＴＰ型のＲＯＭ２０に記憶された複数の動作パラメータのうち、信頼性ＲＬ１３（＞ＲＬ１２）の動作パラメータＯＰ１３を選択する。動作パラメータＯＰ１３は、初期動作パラメータ及び動作パラメータＯＰ１２よりも信頼性を向上できるように予め決定されたパラメータである。
【００７１】
動作パラメータＯＰ１３は、例えば、初期動作パラメータの書き込み電圧Ｖｐｇｍよりも低く、且つ、上記の書き込み電圧Ｖｐｇｍ１２よりも低い値の書き込み電圧Ｖｐｇｍ１３を含む。動作パラメータＯＰ１３は、例えば、初期動作パラメータの消去電圧Ｖｅｒａよりも高く、且つ、上記の消去電圧Ｖｅｒａ１２よりも高い値の消去電圧Ｖｅｒａ１３を含む。動作パラメータＯＰ１３は、例えば、初期動作パラメータのセンス時間Ｔｓｅｎｓｅよりも長く、且つ、上記のセンス時間Ｔｓｅｎｓｅ１２よりも長い値のＴｓｅｎｓｅ１３を含む。動作パラメータＯＰ１３は、例えば、初期動作パラメータのＢＬ充電時間Ｔｂｌｃｈよりも長く、且つ、上記のＢＬ充電時間Ｔｂｌｃｈ１２よりも長い値のＢＬ充電時間Ｔｂｌｃｈ１３を含む。
【００７２】
ステップＳ３４では、選択部３２が、ＯＴＰ型のＲＯＭ２０に記憶された複数の動作パラメータのうち、信頼性ＲＬ１４（＞ＲＬ１３）の動作パラメータＯＰ１４を選択する。動作パラメータＯＰ１４は、初期動作パラメータ及び動作パラメータＯＰ１２、ＯＰ１３よりも信頼性を向上できるように予め決定されたパラメータである。
【００７３】
動作パラメータＯＰ１４は、例えば、初期動作パラメータの書き込み電圧Ｖｐｇｍよりも低く、且つ、上記の書き込み電圧Ｖｐｇｍ１２、Ｖｐｇｍ１３よりも低い値の書き込み電圧Ｖｐｇｍ１４を含む。動作パラメータＯＰ１４は、例えば、初期動作パラメータの消去電圧Ｖｅｒａよりも高く、且つ、上記の消去電圧Ｖｅｒａ１２、Ｖｅｒａ１３よりも高い値の消去電圧Ｖｅｒａ１４を含む。動作パラメータＯＰ１４は、例えば、初期動作パラメータのセンス時間Ｔｓｅｎｓｅよりも長く、且つ、上記のセンス時間Ｔｓｅｎｓｅ１２、Ｔｓｅｎｓｅ１３よりも長い値のＴｓｅｎｓｅ１４を含む。動作パラメータＯＰ１４は、例えば、初期動作パラメータのＢＬ充電時間Ｔｂｌｃｈよりも長く、且つ、上記のＢＬ充電時間Ｔｂｌｃｈ１２、Ｔｂｌｃｈ１３よりも長い値のＢＬ充電時間Ｔｂｌｃｈ１４を含む。
【００７４】
以上のように、第２の実施形態では、信頼性を優先する動作モードとパフォーマンスを優先する動作モードとを含む複数の動作モードのうち、ユーザからの変更指示に応じた動作モードを決定し、その決定された動作モードに応じて、メモリセルを動作させるために使用すべき動作パラメータを選択する。これにより、ユーザからの多様な変更要求に応じて、多段階的にＮＡＮＤメモリ１００の信頼性を向上できる。
【００７５】
具体的には、ＮＡＮＤメモリ１００の動作モードとして、ユーザからの多様な変更要求に応じた多様な動作モード「Ａモード」〜「Ｅモード」を用意しておき、ユーザからの変更指示に応じた動作モードを自動的に決定する。これにより、動作パラメータの値についての高度な知識を要することなく、簡易な操作でメモリセルの動作特性を変更できる。すなわち、ユーザが簡単な操作を行うことで、例えば、ＮＡＮＤメモリ１００の信頼性を向上させたりパフォーマンスを向上させたりすることができる。言い換えると、ＮＡＮＤメモリ１００の複数の動作モードに対応した複数の動作パラメータを、用途や目的に応じてユーザが自由に選択できる。
【００７６】
（第３の実施形態）
次に、第３の実施形態にかかる半導体記憶装置について説明する。以下では、第１の実施形態と異なる部分を中心に説明する。
【００７７】
第３の実施形態に係る半導体記憶装置としてのＮＡＮＤメモリ１は、動作パラメータを選択する処理（ステップＳ３）の詳細が、図８に示すように、第１の実施形態と異なる。図８は、動作パラメータを選択する処理（ステップＳ３）における処理の流れを示すフローチャートである。
【００７８】
ステップＳ３１では、選択部３２が、ユーザからの変更指示に応じて生成された変更コマンドを外部から受ける。選択部３２は、変更コマンドの内容に基づき、ユーザからの変更指示の内容がどんな用途に関するものかを判断する。選択部３２は、ユーザからの変更指示の内容が、第１の用途に関するものである場合（ステップＳ２１で「第１の用途」）、処理をステップＳ３２へ進める。選択部３２は、ユーザからの変更指示の内容が、第２の用途に関するものである場合（ステップＳ２１で「第２の用途」）、処理をステップＳ３３へ進める。
【００７９】
ステップＳ３２では、選択部３２が、ＯＴＰ型のＲＯＭ２０に記憶された複数の動作パラメータのうち、第１の用途に対応した第１の動作パラメータＯＰ３１を選択する。動作パラメータＯＰ３１は、初期動作パラメータよりも第１の用途に適したものになるように予め決定されたパラメータである。
【００８０】
ステップＳ３３では、選択部３２が、ＯＴＰ型のＲＯＭ２０に記憶された複数の動作パラメータのうち、第２の用途に対応した第２の動作パラメータＯＰ３２を選択する。動作パラメータＯＰ３２は、初期動作パラメータよりも第２の用途に適したものになるように予め決定されたパラメータである。
【００８１】
以上のように、第３の実施形態では、ユーザからの変更指示の内容がどんな用途に関するものであるかに応じて、その用途に応じた動作パラメータを自動的に選択するので、動作パラメータの値についての高度な知識を要することなく、簡易な操作でメモリセルの動作特性を変更できる。すなわち、メーカ側としては、ユーザに公開したくないノウハウや特殊な内部動作やタイミングに関するものを動作パラメータに入れておくことができる。
【００８２】
（第４の実施形態）
次に、第４の実施形態にかかる半導体記憶装置について図９を用いて説明する。図９は、半導体記憶装置の構成を示す図である。以下では、第１の実施形態と異なる部分を中心に説明する。
【００８３】
第４の実施形態にかかる半導体記憶装置としてのＮＡＮＤメモリ２００は、コントローラ２３０及びＲＯＭヒューズ２１０を備える。コントローラ２３０は、記憶制御部２３６及び起動処理部２３１を有する。
【００８４】
記憶制御部２３６は、ユーザからの変更指示に応じて生成された変更コマンドを外部（例えば、図１０に示すコントローラ３）から受ける。記憶制御部２３６は、変更コマンドに従って、選択部３２により選択された動作パラメータをＯＴＰ型のＲＯＭ２０から読み出し、読み出した動作パラメータを初期動作パラメータに代えてＲＯＭヒューズ２１０に記憶させる。具体的には、記憶制御部２３６は、変更コマンドに従って、選択部３２により保持されたＯＴＰ型のＲＯＭ２０内のアドレスにアクセスして動作パラメータを読み出す。記憶制御部２３６は、読み出された動作パラメータでＲＯＭヒューズ２１０内の初期動作パラメータを書き換える。言い換えると、記憶制御部２３６は、読み出された動作パラメータを、ＲＯＭヒューズ２１０内の初期動作パラメータが記憶されているアドレスの記憶領域に上書き記憶する。
【００８５】
起動処理部２３１は、ユーザからの起動指示「Ｐｏｗｅｒ  Ｏｎ  Ｒｅａｄ」に応じて生成された電源起動コマンド及び第１の読み出しコマンドを外部（例えば、図１０に示すコントローラ３）から受ける。起動処理部２３１は、電源起動コマンドに従って、ＮＡＮＤメモリ２００内の電源回路（図示せず）を起動する。起動処理部２３１は、電源回路の起動が完了したことを認識したら、第１の読み出しコマンドに従って、ＲＯＭヒューズ２１０に記憶された上記の動作パラメータを読み出してレジスタ４０に転送し記憶する。これにより、選択部３２により選択されＲＯＭヒューズ２１０に記憶されている動作パラメータは、使用可能な状態に設定される。
【００８６】
ＲＯＭヒューズ２１０は、記憶制御部２３６により初期動作パラメータが書き換える前に、初期動作パラメータをその記憶されているアドレスから別のアドレスにコピーしてバックアップをとっておく。これにより、記憶制御部２３６により初期動作パラメータが書き換えられた後に、必要に応じて、バックアップされた初期動作パラメータを再度その記憶されていたアドレスへ戻すことができる。
【００８７】
以上のように、第４の実施形態では、ユーザからの変更指示に応じて、選択された動作パラメータをＯＴＰ型のＲＯＭ２０から読み出し、読み出した動作パラメータでＲＯＭヒューズ２１０を書き換えておく。そして、ユーザからの起動指示「Ｐｏｗｅｒ  Ｏｎ  Ｒｅａｄ」に応じて、上記の選択された動作パラメータをＲＯＭヒューズ２１０から読み出して使用可能な状態に設定する。これにより、動作パラメータをＯＴＰ型のＲＯＭ２０から読み出して使用可能な状態に設定する場合に比べて、読み出し処理の内容を簡略化することができるので、読み出し処理に要する時間を短縮することができる。
【００８８】
次に、第１〜第４の実施形態にかかる半導体記憶装置を適用したメモリシステム４について図１０を用いて説明する。
【００８９】
メモリシステム４は、通信媒体を介してホスト装置ＨＡの外部に接続され、ホスト装置ＨＡに対する外部記憶媒体として機能する。ホスト装置ＨＡは、例えば、パーソナルコンピュータ又はＣＰＵコアを含む。メモリシステム４は、例えば、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）又はメモリカードを含む。以下では、第１の実施形態にかかる半導体記憶装置としてのＮＡＮＤメモリ１を適用したメモリシステム４について例示的に説明する。
【００９０】
メモリシステム４は、コントローラ３、ＥＣＣ（Ｅｒｒｏｒ  Ｃｈｅｃｋｉｎｇ  ａｎｄ  Ｃｏｒｒｅｃｔｉｏｎ）回路２、及びＮＡＮＤメモリ１を備える。
【００９１】
コントローラ３は、メモリシステム４の各構成要素を統括的に制御するもので、ホスト装置ＨＡから命令を受けた場合に、その命令に従った制御を行う。
【００９２】
例えば、コントローラ３は、ホスト装置ＨＡからの命令に従って、ＮＡＮＤメモリ１へのデータの書き込み、ＮＡＮＤメモリ１からのデータの読み出し、ＮＡＮＤメモリ１内のデータの消去などを制御する。また、コントローラ３は、ＮＡＮＤメモリ１に対する書き換え回数／消去回数を管理しており、必要に応じて書き換え回数／消去回数の情報をＥＣＣ回路２経由でＮＡＮＤメモリ１へ供給する。
【００９３】
例えば、コントローラ３は、ユーザからの起動指示「Ｐｏｗｅｒ  Ｏｎ  Ｒｅａｄ」に応じて、電源起動コマンド及び第１の読み出しコマンドを生成してＥＣＣ回路２経由でＮＡＮＤメモリ１へ供給する。
【００９４】
例えば、コントローラ３は、ユーザからの起動指示「Ｐａｒａｍｅｔｅｒ  ｒｅａｄ  ａｎｄ  ｓｅｔ」に応じて、電源起動コマンド、第１の読み出しコマンド、及び第２の読み出しコマンドを生成してＥＣＣ回路２経由でＮＡＮＤメモリ１へ供給する。
【００９５】
ＥＣＣ回路２は、ＮＡＮＤメモリ１に書き込まれるべきデータやＮＡＮＤメモリ１から読み出されたデータに対してＥＣＣ処理を行う。また、ＥＣＣ回路２は、ＥＣＣ数（すなわち、ＥＣＣ処理により救済されたビット数）を管理しており、必要に応じてＥＣＣ数の情報をＮＡＮＤメモリ１へ供給する。
【００９６】
なお、メモリシステム４ａにおいて、起動制御部３１ａ、選択部３２ａ、起動処理部３３ａ、動作制御部３４ａが、ＮＡＮＤメモリ１ａ内のコントローラ３０ａに備えられておらずに、コントローラ３ａに備えられていても良い。起動制御部３１ａ、選択部３２ａ、起動処理部３３ａ、動作制御部３４ａの動作内容は、それぞれ、第１の実施形態におけるＮＡＮＤメモリ１内のコントローラ３０に備えられた起動制御部３１、選択部３２、起動処理部３３、動作制御部３４の動作内容と同様である。
【００９７】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００９８】
１、１ａ、１００、２００  ＮＡＮＤメモリ、２  ＥＣＣ回路、３、３ａ  コントローラ、４、４ａ  メモリシステム、１０、２１０  ＲＯＭヒューズ、２０  ＯＴＰ型のＲＯＭ、３０、１３０、２３０  コントローラ、３１  起動処理部、３２  選択部、３３  起動処理部、３４  動作制御部、４０  レジスタ、１３５  決定部、２３６  記憶制御部。
【図１】
2012203951.tif 000003
【図２】
2012203951.tif 000004
【図３】
2012203951.tif 000005
【図４】
2012203951.tif 000006
【図５】
2012203951.tif 000007
【図６】
2012203951.tif 000008
【図７】
2012203951.tif 000009
【図８】
2012203951.tif 000010
【図９】
2012203951.tif 000011
【図１０】
2012203951.tif 000012
【図１１】
2012203951.tif 000013