(57)【要約】【課題】半導体記憶装置の信頼性を維持する【解決手段】  実施形態の半導体記憶装置は、コントローラと、データを記憶する不揮発性半導体メモリと、データを記憶する揮発性半導体メモリと、を具備する。不揮発性半導体メモリは複数の記憶領域を含み、半導体記憶装置の起動に際してコントローラが使用する起動情報を記憶する。起動情報は、不揮発性半導体メモリの製造時に不揮発性半導体メモリの少なくとも１つの記憶領域に記憶される。コントローラは、不揮発性半導体メモリの記憶領域をアドレスに関連付けて管理し、アドレスを指定する第１のコマンドを不揮発性半導体メモリに発行することにより、起動情報を不揮発性半導体メモリから読み出す。【選択図】図７
2018067072.tif 000002
【特許請求の範囲】
【請求項１】
半導体記憶装置であって、
コントローラと、
データを記憶する不揮発性半導体メモリと、
データを記憶する揮発性半導体メモリと、
を具備し、
前記不揮発性半導体メモリは複数の記憶領域を含み、
前記不揮発性半導体メモリは、
前記半導体記憶装置の起動に際して前記コントローラが使用する起動情報を記憶し、
前記起動情報は、
前記不揮発性半導体メモリの製造時に前記不揮発性半導体メモリの少なくとも１つの記憶領域に記憶され、
前記コントローラは、
前記不揮発性半導体メモリの記憶領域をアドレスに関連付けて管理し、
前記コントローラは、
アドレスを指定する第１のコマンドを前記不揮発性半導体メモリに発行することにより、
前記起動情報を前記不揮発性半導体メモリから読み出す
半導体記憶装置。
【請求項２】
前記起動情報は、
前記不揮発性半導体メモリの第１の記憶領域には前記不揮発性半導体メモリの製造時に記憶され、
前記不揮発性半導体メモリの第２の記憶領域には前記コントローラの制御により記憶され、
前記第１のコマンドが指定するアドレスは、
前記第２の記憶領域に関連付けられている
請求項１に記載の半導体記憶装置。
【請求項３】
前記コントローラは、
前記起動情報を前記第１の記憶領域から読み出し前記第２の記憶領域に記憶させるように
前記不揮発性半導体メモリを制御する
請求項２に記載の半導体記憶装置。
【請求項４】
前記半導体記憶装置は、
前記不揮発性メモリ及び前記揮発性半導体メモリの双方へ電力が供給されている第１の電力モードと、
前記不揮発性メモリに電力が供給されておらず、前記揮発性半導体メモリへ電力が供給されている第２の電力モードと、
前記不揮発性メモリ及び前記揮発性半導体メモリのいずれにも電力が供給されていない第３の電力モードとの、
いずれかの電力モードをとる
請求項３に記載の半導体記憶装置。
【請求項５】
前記コントローラは、
前記半導体記憶装置が前記第１の電力モードである時に、
前記第２の記憶領域に関連付けられたアドレスを前記揮発性半導体メモリに記憶させる
請求項４に記載の半導体記憶装置。
【請求項６】
前記コントローラは、
前記半導体記憶装置が前記第２の電力モードから前記第１の電力モードへ遷移する時に、
前記第２の記憶領域に関連付けられたアドレスを前記揮発性半導体メモリから取得し、
前記取得したアドレスを用いて前記第１のコマンドを発行することにより、
前記第２の記憶領域から前記起動情報を読み出す
請求項５に記載の半導体記憶装置。
【請求項７】
前記コントローラは、
前記半導体記憶装置が前記第３の電力モードから前記第１の電力モードへ遷移する時に、
アドレスを指定しない第２のコマンドを前記不揮発性半導体メモリに発行することにより、
前記第１の記憶領域から前記起動情報を読み出す
請求項６に記載の半導体記憶装置。
【請求項８】
前記コントローラは、
前記第２の記憶領域に係る第１のパラメータが第１の閾値を超えたことに応じて、
前記起動情報を前記第２の記憶領域から読み出し前記第２の記憶領域に再度記憶させるように前記不揮発性半導体メモリを制御する
請求項３に記載の半導体記憶装置。
【請求項９】
前記コントローラは、
前記第２の記憶領域に係る第１のパラメータが第１の閾値を超えたことに応じて、
前記起動情報を前記第２の記憶領域から読み出し前記不揮発性半導体メモリの第３の記憶領域に記憶させるように前記不揮発性半導体メモリを制御する
請求項３に記載の半導体記憶装置。
【請求項１０】
前記コントローラは、
前記第２の記憶領域からの前記起動情報の読み出しが失敗したことに応じて、
前記起動情報を前記第１の記憶領域から読み出し前記第２の記憶領域に再度記憶させるように前記不揮発性半導体メモリを制御する
請求項３に記載の半導体記憶装置。
【請求項１１】
前記コントローラは、
前記第２の記憶領域からの前記起動情報の読み出しが失敗したことに応じて、
前記起動情報を前記第１の記憶領域から読み出し前記不揮発性半導体メモリの第３の記憶領域に記憶させるように前記不揮発性半導体メモリを制御する
請求項３に記載の半導体記憶装置。
【請求項１２】
前記コントローラは、
前記起動情報を前記第２の記憶領域から読み出し前記不揮発性半導体メモリの第４の記憶領域に記憶させるように前記不揮発性半導体メモリを制御する
請求項３に記載の半導体記憶装置。
【請求項１３】
前記コントローラは、
前記第２の記憶領域に係る第１のパラメータが第１の閾値を超えたことに応じて、
前記起動情報を前記第４の記憶領域から読み出し前記第２の記憶領域に再度記憶させるように前記不揮発性半導体メモリを制御する
請求項１２に記載の半導体記憶装置。
【請求項１４】
前記コントローラは、
前記第２の記憶領域からの前記起動情報の読み出しが失敗したことに応じて、
前記起動情報を前記第４の記憶領域から読み出し前記不揮発性半導体メモリの第３の記憶領域に記憶させるように前記不揮発性半導体メモリを制御する
請求項１２に記載の半導体記憶装置。
【請求項１５】
前記コントローラは、
前記第３の記憶領域に関連付けられたアドレスを前記揮発性半導体メモリに記憶させる
請求項９または請求項１１または請求項１４のいずれか１項に記載の半導体記憶装置。
【請求項１６】
半導体記憶装置の制御方法であって、
前記半導体記憶装置は、
コントローラと、
データを記憶する不揮発性半導体メモリと、
データを記憶する揮発性半導体メモリと、
を具備し、
前記不揮発性半導体メモリは複数の記憶領域を含み、
前記不揮発性半導体メモリは、
前記半導体記憶装置の起動に際して前記コントローラが使用する起動情報を記憶し、
前記起動情報は、
前記不揮発性半導体メモリの製造時に前記不揮発性半導体メモリの少なくとも１つの記憶領域に記憶され、
前記コントローラは、
前記不揮発性半導体メモリの記憶領域をアドレスに関連付けて管理し、
前記コントローラが、
アドレスを指定する第１のコマンドを前記不揮発性半導体メモリに発行することにより、
前記起動情報を前記不揮発性半導体メモリから読み出す
制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、半導体記憶装置及びその制御方法に関する。
【背景技術】
【０００２】
不揮発性半導体メモリからデータを読み出すと記憶素子が劣化する。従って、不揮発性半導体メモリの同じ記憶領域から何度もデータを読み出すと、半導体記憶装置の信頼性を維持することができなくなる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−１５４１９７号明細書
【特許文献２】米国特許出願公開第２０１３／０２６５８４１号明細書
【特許文献３】国際公開第２０１５／０３３４０４号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明が解決しようとする課題は、半導体記憶装置の信頼性を維持することである。
【課題を解決するための手段】
【０００５】
上記課題を達成するために、実施形態の半導体記憶装置は、コントローラと、データを記憶する不揮発性半導体メモリと、データを記憶する揮発性半導体メモリと、を具備する。不揮発性半導体メモリは複数の記憶領域を含み、半導体記憶装置の起動に際してコントローラが使用する起動情報を記憶する。起動情報は、不揮発性半導体メモリの製造時に不揮発性半導体メモリの少なくとも１つの記憶領域に記憶される。コントローラは、不揮発性半導体メモリの記憶領域をアドレスに関連付けて管理し、アドレスを指定する第１のコマンドを不揮発性半導体メモリに発行することにより、起動情報を不揮発性半導体メモリから読み出す。
【図面の簡単な説明】
【０００６】
【図１】第１の実施形態の半導体記憶装置の構成を説明するブロック図である。
【図２】第１の実施形態に係る物理ページ及び物理ブロックの構成を説明する図である。
【図３】第１の実施形態に係るメモリ構成を説明する図である。
【図４】第１の実施形態に係る起動情報の記憶先を説明する図である。
【図５】第１の実施形態に係る電力モードを説明する図である。
【図６】第１の実施形態に係るパワーオンシーケンスを説明する図である。
【図７】第１の実施形態に係るＷＡＲＭブートを説明する図である。
【図８】第１の実施形態に係るＣＯＬＤブートを説明する図である。
【図９】第１の実施形態に係るブート時のＦＷの制御手順を説明する図である。
【図１０】第２の実施形態に係るメモリ構成を説明する図である。
【図１１】第２の実施形態に係るリフレッシュ処理について説明する図である。
【図１２】第２の実施形態に係るリフレッシュ処理時のＦＷの制御手順を説明する図である。
【図１３】第２の実施形態に係るリカバリ処理について説明する図である。
【図１４】第２の実施形態に係るリカバリ処理時のＦＷの制御手順を説明する図である。
【図１５】第３の実施形態に係るメモリ構成を説明する図である。
【図１６】第３の実施形態に係る起動情報の記憶先を説明する図である。
【図１７】第２の実施形態に係るリフレッシュ処理及びリカバリ処理について説明する図である。
【発明を実施するための形態】
【０００７】
以下、実施形態の半導体記憶装置を、図面を参照して説明する。なお、以下の説明において、同一の機能及び構成を有する構成要素については、共通する参照符号を付す。
【０００８】
［第１の実施形態］
図１は、第１の実施形態の半導体記憶装置の構成を説明するブロック図である。
【０００９】
半導体記憶装置１は、ホスト２と通信可能である。半導体記憶装置１は、メモリコントローラ１０と、複数の不揮発性半導体メモリ２０と、バッファ３０と、を含む。
【００１０】
メモリコントローラ１０は、ホスト２と通信し、半導体記憶装置１全体の動作を制御する。メモリコントローラ１０は、例えばＳｏＣ（Ｓｙｓｔｅｍ  ｏｎ  ａ  Ｃｈｉｐ）として構成される半導体集積回路である。
【００１１】
本実施形態の説明では、ホスト２はＳＡＴＡ（Ｓｅｒｉａｌ  ＡＴＡ）規格のインターフェースをサポートするコンピュータであるが、その他の規格、例えばＳＡＳ（Ｓｅｒｉａｌ  Ａｔｔａｃｈｅｄ  ＳＣＳＩ）規格やＮＶＭｅ（ＮＶＭ  Ｅｘｐｒｅｓｓ）（登録商標）規格のインターフェースをサポートするコンピュータであってもよい。
【００１２】
不揮発性半導体メモリ２０は、データを不揮発的に（永続的に）記憶する。本実施形態の不揮発性半導体メモリ２０はＮＡＮＤ型フラッシュメモリであるが、３次元構造フラッシュメモリ、ＮＯＲ型フラッシュメモリ、ＭＲＡＭ（Ｍａｇｎｅｔｏｒｅｓｉｓｔｉｖｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）など他の種類の不揮発性半導体メモリでもよい。以下の説明においては、不揮発性半導体メモリ２０をＮＡＮＤ型フラッシュメモリ２０と表記することがある。
【００１３】
本実施形態の半導体記憶装置１は４チャネル（Ｃｈ）のＮＡＮＤ型フラッシュメモリ２０を有する。メモリコントローラ１０は、各チャネルに接続されたＮＡＮＤ型フラッシュメモリ２０を並列に制御可能である。１つのチャネルに複数のＮＡＮＤ型フラッシュメモリ２０が接続されてもよい。以下では各チャネルに接続されているＮＡＮＤ型フラッシュメモリ２０をＮＡＮＤ型フラッシュメモリＣｈ０〜Ｃｈ３と表記する。チャネルの数は４より多くても少なくてもよい。
【００１４】
バッファ３０は、データを揮発的に（一時的に）に記憶する。バッファ３０に記憶されるデータには、（１）ホスト２から受信したデータ、（２）ＮＡＮＤ型フラッシュメモリ２０から読み出したデータ、（３）メモリコントローラ１０が半導体記憶装置１を制御するにあたり必要な情報、などがある。
【００１５】
本実施形態のバッファ３０はＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）であるが、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）など他の種類の揮発性半導体メモリでもよい。バッファ３０は、メモリコントローラ１０に内蔵されていてもよい。
【００１６】
メモリコントローラ１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）４０と、ホストインターフェース（ＩＦ）制御部５０と、バッファ制御部６０と、メモリインターフェース（ＩＦ）制御部７０と、を含む。
【００１７】
ＣＰＵ４０は、ＦＷ（Ｆｉｒｍｗａｒｅ）に基づき半導体記憶装置１全体の制御を行う。ＣＰＵ４０は、メモリコントローラ１０に内蔵せず、別個の半導体集積回路としてもよい。また、以下の説明においてＦＷにより実行される機能の一部、又は、全部は専用のＨＷ（Ｈａｒｄｗａｒｅ）によっても実行可能であり、ＨＷにより実行される機能の一部、又は、全部をＦＷによって実行することも可能である。
【００１８】
ホストインターフェース（ＩＦ）制御部５０は、ホスト２から受信したコマンドの解釈や実行などを行う。バッファ制御部６０は、バッファ３０へのデータの書き込み、読み出しの制御、及び、バッファ３０の空き領域の管理などを行う。
【００１９】
メモリＩＦ制御部７０は、複数のＮＡＮＤ制御部８０を含む。ＮＡＮＤ制御部８０は、ＮＡＮＤ型フラッシュメモリＣｈ０〜Ｃｈ３のそれぞれに接続される（以下、ＮＡＮＤ制御部Ｃｈ０〜Ｃｈ３と表記することがある）。ＮＡＮＤ制御部８０は、ＮＡＮＤ型フラッシュメモリ２０へのデータの書き込み、読み出し、消去等の動作を制御する。
【００２０】
ＮＡＮＤ制御部８０は、ＥＣＣ制御部９０を含む。ＥＣＣ制御部９０は、ＮＡＮＤ型フラッシュメモリ２０へ書き込まれるデータに対して、誤り訂正符号を付加する。誤り訂正符号としては、例えば、ＲＳ（Ｒｅｅｄ  Ｓｏｌｏｍｏｎ）符号、ＢＣＨ（Ｂｏｓｅ  Ｃｈａｕｄｈｕｒｉ  Ｈｏｃｑｕｅｎｇｈｅｍ）符号、ＬＤＰＣ（Ｌｏｗ  Ｄｅｎｓｉｔｙ  Ｐａｒｉｔｙ  Ｃｈｅｃｋ）符号等を用いることができる。ＥＣＣ制御部９０は、ＮＡＮＤ型フラッシュメモリ２０から読み出されたデータに対して、誤り訂正符号に基づいた誤り訂正処理を行う。
【００２１】
次に、図２ａ及び図２ｂを参照して、ＮＡＮＤ型フラッシュメモリ２０の物理ページ１００及び物理ブロック１１０の構成を説明する。
【００２２】
図２ａに示すように、ＮＡＮＤ型フラッシュメモリ２０に対するデータの書き込み、読み出しにおける最小管理単位はクラスタ１２０と呼ばれる。本実施形態ではクラスタ１２０の大きさは４ｋＢである。また、ＮＡＮＤ型フラッシュメモリ２０のデータの書き込み、読み出しが可能な最小の回路構成の単位は物理ページ１００と呼ばれる。本実施形態では物理ページ１００の大きさは１６クラスタ（４ｋＢ×１６クラスタ＝６４ｋＢ）である。
【００２３】
また、図２ｂに示すように、ＮＡＮＤ型フラッシュメモリ２０のデータの消去が可能な最小の回路構成の単位は物理ブロック１１０と呼ばれる。本実施形態では物理ブロック１１０の大きさは１６物理ページ（６４ｋＢ×１６物理ページ＝１０２４ｋＢ）である。なお、これら各単位のサイズは一例であり、これらの値に限定されるものではない。
【００２４】
ＮＡＮＤ型フラッシュメモリ２０内の記憶素子は、データの書き込み、読み出し、消去などにより、劣化する。半導体記憶装置１の寿命を延ばすためには、物理ページ１００あたりのデータの書き込み回数、データの読み出し回数、物理ブロック１１０あたりのデータの消去回数をできるだけ少なくすることが望ましい。
【００２５】
次に、図３及び図４を参照して、メモリ構成を説明する。
【００２６】
図３に示すように、ＮＡＮＤ型フラッシュメモリ２０は、ヒューズ領域１５０（第１の記憶領域）を含む。ヒューズ領域１５０は、１つの物理ブロック１１０で構成されるが、この構成に限定されなくてよい。
【００２７】
図４に示すように、ヒューズ領域１５０には、ＮＡＮＤ型フラッシュメモリ２０の不良ビット情報や動作パラメータなどが、ＮＡＮＤ型フラッシュメモリ２０の製造時（工場出荷前）に記憶される。ヒューズ領域１５０は、工場出荷後は読み出しのみが可能である。すなわち、メモリコントローラ１０は、ヒューズ領域１５０からデータの読み出しのみをすることができる。ヒューズ領域１５０に記憶されている情報は、半導体記憶装置１の起動に際してメモリコントローラ１０が使用する。以下、この情報を起動情報と称する。起動情報には、誤り訂正符号が付加されてもよい。
【００２８】
また、メモリコントローラ１０は、ＮＡＮＤ型フラッシュメモリ２０の一部の記憶領域を、第１コピー領域１６０（第２の記憶領域）として管理する。第１コピー領域１６０は、１つの物理ブロック１１０で構成されるが、この構成に限定されなくてよい。
【００２９】
第１コピー領域１６０は、メモリコントローラ１０の制御により、データの書き込み、読み出し、消去が可能である。第１コピー領域１６０は、メモリコントローラ１０からアドレス＝Ａに関連付けられてアクセスされる。第１コピー領域１６０には、メモリコントローラ１０からの制御により、起動情報が記憶される。
【００３０】
以上、半導体記憶装置１の構造について説明した。以下では、半導体記憶装置１のとりうる電力モード、及び、半導体起動装置１のブートシーケンスについて説明する。
【００３１】
図５に示すように、半導体記憶装置１は、通常電力モード（第１の電力モード）、第１低電力モード（第２の電力モード）、第２低電力モード（第３の電力モード）、の３つの電力モードをとりうる。通常電力モードでは、メモリコントローラ１０、ＮＡＮＤ型フラッシュメモリ２０、バッファ３０のいずれにも電力が供給される。第１低電力モードでは、ＮＡＮＤ型フラッシュメモリ２０には電力が供給されないが、メモリコントローラ１０及びバッファ３０には電力が供給される。第２低電力モードでは、メモリコントローラ１０、ＮＡＮＤ型フラッシュメモリ２０、バッファ３０のいずれにも電力が供給されない。半導体記憶装置１の消費電力は、通常電力モード、第１低電力モード、第２低電力モードの順に小さくなる。
【００３２】
以下、第１低電力モードから通常電力モードへの遷移をＷＡＲＭブートと称する。また、第２低電力モードから通常電力モードへの遷移をＣＯＬＤブートと称する。ＷＡＲＭブートは、ＣＯＬＤブートよりも高速である。
【００３３】
次に、図６を参照して、半導体記憶装置１の電力供給時の動作シーケンス（パワーオンシーケンス）を説明する。
【００３４】
半導体記憶装置１に電力が供給され、必要な初期化処理が完了すると、メモリコントローラ１０は、ＮＡＮＤ型フラッシュメモリ２０に対し、起動情報読み出しコマンド（アドレス指定なし）を発行する。起動情報読み出しコマンド（アドレス指定なし）を受領したＮＡＮＤ型フラッシュメモリ２０は、ヒューズ領域１５０から起動情報を読み出す。読み出された起動情報は、ＮＡＮＤ型フラッシュメモリ２０からメモリコントローラ１０へ送信される。
【００３５】
次に、メモリコントローラ１０は、アドレス＝Ａをコピー先として指定する起動情報コピーコマンドを、ＮＡＮＤ型フラッシュメモリ２０に対して発行する。アドレス＝Ａは、前述のとおり、第１コピー領域１６０に関連付けられる。起動情報コピーコマンドを受領したＮＡＮＤ型フラッシュメモリ２０は、起動情報をヒューズ領域１５０から、アドレス＝Ａに関連付けられた記憶領域、すなわち、第１コピー領域１６０に記憶させる。ＮＡＮＤ型フラッシュメモリ２０は、メモリコントローラ１０に対し、起動情報コピーコマンドの実行完了を報告する。
【００３６】
メモリコントローラ１０は、アドレス＝Ａをバッファ３０に記憶させる。
【００３７】
なお、起動情報コピーコマンドは、一度発行すれば、次回のパワーオンシーケンスからは省略することができる。
【００３８】
次に、図７を参照して、ＷＡＲＭブートの動作シーケンスを説明する。
【００３９】
半導体記憶装置１がＷＡＲＭブートすると、メモリコントローラ１０は、バッファ３０に記憶させておいたアドレス＝Ａを取得する。アドレス＝Ａを取得したメモリコントローラ１０は、アドレス＝Ａを指定する起動情報読み出しコマンド（アドレス指定あり）を、ＮＡＮＤ型フラッシュメモリ２０に対して発行する。起動情報読み出しコマンド（アドレス指定あり）を受領したＮＡＮＤ型フラッシュメモリ２０は、アドレス＝Ａに関連付けられた記憶領域、すなわち、第１コピー領域１６０から起動情報を読み出す。読み出された起動情報は、ＮＡＮＤ型フラッシュメモリ２０からメモリコントローラ１０へ送信される。メモリコントローラ１０は、受信した起動情報をバッファ３０に記憶させてもよい。
【００４０】
次に、図８を参照して、ＣＯＬＤブートの動作シーケンスを説明する。
【００４１】
半導体記憶装置１がＣＯＬＤブートすると、メモリコントローラ１０は、起動情報読み出しコマンド（アドレス指定なし）を、ＮＡＮＤ型フラッシュメモリ２０に対して発行する。第２低電力モードの時は、バッファ３０に電力が供給されないため、バッファ３０に記憶されていたアドレス＝Ａの情報は失われる。従って、起動情報読み出しコマンド（アドレス指定あり）は使用することができない。起動情報読み出しコマンド（アドレス指定なし）を受領したＮＡＮＤ型フラッシュメモリ２０は、ヒューズ領域１５０から起動情報を読み出す。読み出された起動情報は、ＮＡＮＤ型フラッシュメモリ２０からメモリコントローラ１０へ送信される。メモリコントローラ１０は、受信した起動情報をバッファ３０に記憶させてもよい。
【００４２】
次に、図９を参照して、半導体記憶装置１のブート時のＦＷの制御手順を説明する。
【００４３】
第１コピー領域１６０に関連付けられたアドレスがバッファ３０に記憶されている時、すなわちＷＡＲＭブートである時（Ｓ１００：Ｙｅｓ）、ＣＰＵ４０はＦＷに基づき、第１コピー領域１６０に関連付けられるアドレスを取得する（Ｓ１０１）。次にＣＰＵ４０は、ＮＡＮＤ制御部８０に指示し、取得したアドレスを用いて起動情報読み出しコマンド（アドレス指定あり）を発行する（Ｓ１０２）。
【００４４】
第１コピー領域１６０に関連付けられたアドレスがバッファ３０に記憶されていない時、すなわちＣＯＬＤブートである時（Ｓ１００：Ｎｏ）、ＣＰＵ４０は、ＮＡＮＤ制御部８０に指示し、起動情報読み出しコマンド（アドレス指定なし）を発行する（Ｓ１０３）。
【００４５】
なお、ＷＡＲＭブートであるかＣＯＬＤブートであるかの判断方法は、上記の方法に限られない。例えば、ホスト２よりブートの種類が通知されてもよい。
【００４６】
以上説明した第１の実施形態の半導体記憶装置によれば、半導体記憶装置の起動時に起動情報を取得する記憶領域を、メモリコントローラの制御により変更することができるので、ヒューズ領域内の記憶素子の過度な劣化を防ぐことができ、半導体記憶装置の信頼性を維持することができる。
【００４７】
［第２の実施形態］
第１の実施形態の半導体記憶装置では、ヒューズ領域内の記憶素子の過度な劣化を防ぐことができた。第２の実施形態の半導体記憶装置では、さらに、第１コピー領域内の記憶素子の劣化に対処することができる。
【００４８】
図１０は、本実施形態のメモリ構成を説明する図である。
【００４９】
本実施形態のメモリコントローラ１０は、第１コピー領域１６０に加え、ＮＡＮＤ型フラッシュメモリ２０の一部の記憶領域を、スペア領域１７０（第３の記憶領域）として管理する。スペア領域１７０は、１つの物理ブロック１１０で構成されるが、この構成に限定されなくてよい。
【００５０】
スペア領域１７０は、第１コピー領域１６０と同様、メモリコントローラ１０の制御により、データの書き込み、読み出し、消去が可能である。スペア領域１７０は、メモリコントローラ１０からアドレス＝Ｂに関連付けられてアクセスされる。
【００５１】
メモリコントローラ１０は、第１コピー領域１６０内の記憶素子の劣化を推定しうるパラメータ（以下、リフレッシュパラメータと称する）を管理する。リフレッシュパラメータには、例えば、（１）第１コピー領域１６０からの起動情報の読み出し回数、（２）第１コピー領域１６０から読み出した起動情報内のエラービット数、（３）第１コピー領域１６０へのアクセス間隔、などを採用することができる。
【００５２】
リフレッシュパラメータとして、（１）第１コピー領域１６０からの起動情報の読み出し回数、が用いられる場合について説明する。メモリコントローラ１０は、第１コピー領域１６０から起動情報が読み出された回数を計測する。読み出し回数が、あらかじめ定めておいたリフレッシュ閾値を超えると、メモリコントローラ１０はリフレッシュ処理を行う。リフレッシュ処理の詳細については後述する。
【００５３】
リフレッシュパラメータとして、（２）第１コピー領域１６０から読み出した起動情報内のエラービット数、が用いられる場合について説明する。第１コピー領域１６０から読み出された起動情報に対して、ＥＣＣ制御部９０が、誤り訂正処理を行う。誤り訂正処理時に検出されたエラービット数が、あらかじめ定めておいたリフレッシュ閾値を超えると、メモリコントローラ１０は、リフレッシュ処理を行う。
【００５４】
リフレッシュパラメータとして、（３）第１コピー領域１６０へのアクセス間隔、が用いられる場合について説明する。第１コピー領域１６０からの起動情報の読み出し時に、メモリコントローラ１０は、図示しないタイマーを作動させる。タイマーは、ゼロから、一定時間経過ごとにカウントアップする。タイマーは、第１コピー領域１６０から起動情報が読み出されるごとに、ゼロに初期化される。そして、タイマーの値が、あらかじめ定めておいたリフレッシュ閾値を超えると、メモリコントローラ１０はリフレッシュ処理を行う。
【００５５】
次に、図１１ａ及び図１１ｂを参照して、リフレッシュ処理について説明する。本実施形態におけるリフレッシュ処理には、２通りの方法がある。
【００５６】
第１の方法では、図１１ａに示すように、第１コピー領域１６０から読み出された起動情報を、第１コピー領域１６０に再度記憶させる。この時メモリコントローラ１０は、読み出された起動情報に対し、ＥＣＣ制御部９０によって誤り訂正処理を行い、誤りが訂正された起動情報を第１コピー領域１６０に記憶させてもよい。第１コピー領域１６０に起動情報を再度記憶させることにより、第１コピー領域１６０内の記憶素子に電荷が再度注入され、起動情報の読み出し時のエラー発生確率を低減することができる。
【００５７】
第２の方法では、図１１ｂに示すように、第１コピー領域１６０から読み出された起動情報を、スペア領域１７０に記憶させる。この時もメモリコントローラ１０は、誤りが訂正された起動情報をスペア領域１７０に記憶させてもよい。また、メモリコントローラ１０は、スペア領域１７０に関連付けられるアドレス＝Ｂをバッファ３０に記憶させる。そしてこれ以降、メモリコントローラ１０は、起動情報読み出しコマンド（アドレス指定あり）を発行する時は、アドレス＝Ｂを指定してコマンドを発行する。
【００５８】
次に、図１２ａ及び図１２ｂを参照して、リフレッシュ処理時のＦＷの制御手順を説明する。
【００５９】
図１２ａは図１１ａに示したリフレッシュ処理に対応する。
【００６０】
リフレッシュパラメータがリフレッシュ閾値を超えると（Ｓ２００ａ：Ｙｅｓ）、ＣＰＵ４０はＦＷに基づき、ＮＡＮＤ制御部８０に指示し、第１コピー領域１６０から読み出された起動情報を第１コピー領域１６０に再度記憶させる（Ｓ２０１ａ）。
【００６１】
図１２ｂは図１１ｂに示したリフレッシュ処理に対応する。
【００６２】
リフレッシュパラメータがリフレッシュ閾値を超えると（Ｓ２００ｂ：Ｙｅｓ）、ＣＰＵ４０はＦＷに基づき、ＮＡＮＤ制御部８０に指示し、第１コピー領域１６０から読み出された起動情報をスペア領域１７０に記憶させる（Ｓ２０１ｂ）。ＣＰＵ４０は、スペア領域１７０に関連付けられたアドレス＝Ｂを、バッファ３０に記憶させる（Ｓ２０２ｂ）。
【００６３】
以上、リフレッシュ処理について説明した。以下では、第１コピー領域１６０からの起動情報の読み出しに失敗した時のリカバリ処理について説明する。
【００６４】
第１コピー領域１６０から読み出された起動情報に対して、ＥＣＣ制御部９０が誤り訂正処理を行った結果、訂正不能な誤りが検出されると、メモリコントローラ１０はリカバリ処理を行う。
【００６５】
図１３ａ及び図１３ｂは、リカバリ処理について説明するための図である。本実施形態におけるリカバリ処理には、２通りの方法がある。
【００６６】
第１の方法では、図１３ａに示すように、ヒューズ領域１５０から読み出された起動情報を、第１コピー領域１６０に再度記憶させる。第１コピー領域１６０に起動情報を再度記憶させることにより、第１コピー領域１６０内の記憶素子に電荷が再度注入され、起動情報の読み出し時のエラー発生確率を低減することができる。
【００６７】
第２の方法では、図１３ｂに示すように、ヒューズ領域１５０から読み出された起動情報を、スペア領域１７０に記憶させる。また、メモリコントローラ１０は、スペア領域１７０に関連付けられるアドレス＝Ｂをバッファ３０に記憶させる。そしてこれ以降、メモリコントローラ１０は、起動情報読み出しコマンド（アドレス指定あり）を発行する時は、アドレス＝Ｂを指定してコマンドを発行する。
【００６８】
次に、図１４ａ及び図１４ｂを参照して、リカバリ処理時のＦＷの制御手順を説明する。
【００６９】
図１４ａは図１３ａに示したリカバリ処理に対応する。
【００７０】
第１コピー領域１６０からの起動情報の読み出しが失敗すると（Ｓ３００ａ：Ｙｅｓ）、ＣＰＵ４０はＦＷに基づき、ＮＡＮＤ制御部８０に指示し、ヒューズ領域１５０から読み出された起動情報を第１コピー領域１６０に再度記憶させる（Ｓ３０１ａ）。この時、ＮＡＮＤ制御部８０は、アドレス＝Ａをコピー先として指定する起動情報コピーコマンドを、ＮＡＮＤ型フラッシュメモリ２０に対して発行してもよい。
【００７１】
図１４ｂは図１３ｂに示したリカバリ処理に対応する。
【００７２】
第１コピー領域１６０からの起動情報の読み出しが失敗すると（Ｓ３００ｂ：Ｙｅｓ）、ＣＰＵ４０はＦＷに基づき、ＮＡＮＤ制御部８０に指示し、ヒューズ領域１５０から読み出された起動情報をスペア領域１７０に記憶させる（Ｓ３０１ｂ）。この時、ＮＡＮＤ制御部８０は、アドレス＝Ｂをコピー先として指定する起動情報コピーコマンドを、ＮＡＮＤ型フラッシュメモリ２０に対して発行してもよい。ＣＰＵ４０は、スペア領域１７０に関連付けられたアドレス＝Ｂを、バッファ３０に記憶させる（Ｓ３０２ｂ）。
【００７３】
以上説明した第２の実施形態の半導体記憶装置によれば、第１コピー領域内の記憶素子の劣化が推定される時のリフレッシュ処理、また、第１コピー領域からの起動情報の読み出しが失敗した時のリカバリ処理をすることができるので、半導体記憶装置の信頼性をさらに維持することができる。
【００７４】
［第３の実施形態］
第１の実施形態の半導体記憶装置では、ヒューズ領域内の記憶素子の過度な劣化を防ぐことができた。第３の実施形態の半導体記憶装置では、ヒューズ領域からの起動情報の読み出し回数を、さらに低減することができる。
【００７５】
図１５は、本実施形態のメモリ構成を説明する図である。
【００７６】
本実施形態のメモリコントローラ１０は、第１コピー領域１６０及びスペア領域１７０に加え、ＮＡＮＤ型フラッシュメモリ２０の一部の記憶領域を、第２コピー領域１８０（第４の記憶領域）として管理する。第２コピー領域１８０は、１つの物理ブロック１１０で構成されるが、この構成に限定されなくてよい。
【００７７】
第２コピー領域１８０は、第１コピー領域１６０と同様、メモリコントローラ１０の制御により、データの書き込み、読み出し、消去が可能である。第２コピー領域１８０は、メモリコントローラ１０からアドレス＝Ｃに関連付けられてアクセスされる。
【００７８】
メモリコントローラ１０は、図１６に示すように、ヒューズ領域１５０から起動情報を読み出し第１コピー領域１６０に記憶させた後、さらに、第１コピー領域１６０から起動情報を読み出し、第２コピー領域１８０に記憶させる。
【００７９】
次に、図１７ａ及び図１７ｂを参照して、本実施形態におけるリフレッシュ処理とリカバリ処理について説明する。
【００８０】
図１７ａは本実施形態におけるリフレッシュ処理を説明するための図である。リフレッシュパラメータがリフレッシュ閾値を超えると、メモリコントローラ１０は、第２コピー領域１８０から起動情報を読み出し、第１コピー領域１６０に記憶させる。あるいは図示しないが、メモリコントローラ１０は、第２コピー領域１８０から起動情報を読み出し、スペア領域１７０に記憶させてもよい。
【００８１】
図１７ｂは本実施形態におけるリカバリ処理を説明するための図である。第１コピー領域１６０からの起動情報の読み出しが失敗すると、メモリコントローラ１０は、第２コピー領域１８０から起動情報を読み出し、スペア領域１７０に記憶させる。あるいは図示しないが、メモリコントローラ１０は、第２コピー領域１８０から起動情報を読み出し、第１コピー領域１６０に再度記憶させてもよい。
【００８２】
起動情報を第２コピー領域１８０から読み出すことにより、第２の実施形態（図１３）の場合に比べ、ヒューズ領域１５０からの起動情報の読み出し回数を低減することができる。
【００８３】
以上説明した第３の実施形態の半導体記憶装置によれば、第２コピー領域から起動情報を読み出すことができるので、ヒューズ領域からの起動情報の読み出し回数をさらに低減することができ、半導体記憶装置の信頼性をさらに維持することができる。
【００８４】
以上説明した少なくとも１つの実施形態の半導体記憶装置によれば、半導体記憶装置の起動時に起動情報を取得する記憶領域を、メモリコントローラの制御により変更することができるので、ヒューズ領域内の記憶素子の過度な劣化を防ぐことができ、半導体記憶装置の信頼性を維持することができる。
【００８５】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００８６】
１…半導体記憶装置、２…ホスト、１０…メモリコントローラ、２０…不揮発性半導体メモリ、３０…バッファ、４０…ＣＰＵ、５０…ホストインターフェース制御部、６０…バッファ制御部、７０…メモリインターフェース制御部、８０…ＮＡＮＤ制御部、９０…ＥＣＣ制御部、１００…物理ページ、１１０…物理ブロック、１２０…クラスタ、１５０…ヒューズ領域１５０…第１コピー領域、１７０…スペア領域、１８０…第２コピー領域
【図１】
2018067072.tif 000003
【図２】
2018067072.tif 000004
【図３】
2018067072.tif 000005
【図４】
2018067072.tif 000006
【図５】
2018067072.tif 000007
【図６】
2018067072.tif 000008
【図７】
2018067072.tif 000009
【図８】
2018067072.tif 000010
【図９】
2018067072.tif 000011
【図１０】
2018067072.tif 000012
【図１１】
2018067072.tif 000013
【図１２】
2018067072.tif 000014
【図１３】
2018067072.tif 000015
【図１４】
2018067072.tif 000016
【図１５】
2018067072.tif 000017
【図１６】
2018067072.tif 000018
【図１７】
2018067072.tif 000019