(57)【要約】【課題】記憶部に半導体メモリを利用する情報記憶装置において、情報の記憶に利用できない記憶領域の発生を抑制すること。【解決手段】本実施形態にかかる情報記憶装置は、半導体メモリと、管理手段と、を具備して構成される。この半導体メモリは、情報を記憶するための記憶領域を有する。また、管理手段は、半導体メモリの記憶領域のうちリードエラーの発生する回数が２以上となった記憶領域を情報の記憶の利用から除外するように管理する。【選択図】  図１
2013054409.tif 000002
【特許請求の範囲】
【請求項１】
情報を記憶するための記憶領域を有する半導体メモリと、
前記半導体メモリの記憶領域のうちリードエラーの発生する回数が２以上の所定回数となった記憶領域を前記情報の記憶の利用から除外するように管理する管理手段と、
を具備する情報記憶装置。
【請求項２】
前記管理手段は、前記半導体メモリの前記記憶領域に記憶された情報のリードの結果、エラー訂正数が所定数以上となる回数が２以上の第２の所定回数となった記憶領域を前記情報の記憶の利用から除外するように管理する
請求項１記載の情報記憶装置。
【請求項３】
前記管理手段は、前記半導体メモリの記憶領域のうちライトエラーの発生する回数が２以上の第３の所定回数となった記憶領域を前記情報の記憶の利用から除外するように管理する
請求項２記載の情報記憶装置。
【請求項４】
前記管理手段は、前記リードエラーの発生する回数が前記所定回数より少ない記憶領域、前記エラー訂正数が所定数以上となる回数が前記第２の所定回数より少ない記憶領域、または、前記ライトエラーの回数が前記第３の所定回数より少ない記憶領域を、前記情報の記憶の利用から一時的に除外する仮除外領域として管理し、前記リードエラーの発生する回数が前記所定回数となった記憶領域、前記エラー訂正数が所定数以上となる回数が前記第２の所定回数となった記憶領域、または、前記ライトエラーの回数が前記第３の所定回数となった記憶領域を、前記情報の記憶の利用から恒久的に除外する除外領域として管理する
請求項３記載の情報記憶装置。
【請求項５】
記録可能な領域としての記録領域を確保する場合、前記仮除外領域、前記リードエラーの発生していない記憶領域、前記前記エラー訂正数が所定数より少ない記憶領域、または、前記ライトエラーの発生していない記憶領域の何れかの記憶領域のデータを消去する消去手段
を具備する請求項４記載の情報記憶装置。
【請求項６】
情報を記憶するための記憶領域を有する半導体メモリを具備する情報記憶装置での情報記憶方法であって、
前記半導体メモリの記憶領域のうちリードエラーまたはライトエラーの発生する回数が２以上の所定回数となった記憶領域を前記情報の記憶の利用から除外する
情報記憶方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、情報を記憶する情報記憶装置および情報記憶方法に関する。
【背景技術】
【０００２】
近年、情報を不揮発に記憶する記憶部に半導体メモリを利用する情報記憶装置が広く普及している。例えば、このような情報記憶装置として、半導体メモリにＮＡＮＤメモリを適用したＳＳＤ（Solid  State  Drive）やＳＤカードが実現されている。この情報記憶装置では、記憶素子（メモリセル）の情報保持特性に起因するリードエラーまたはライトエラーが発生することがある。
【０００３】
リードエラーまたはライトエラーの発生が検出されると、エラーの発生した記憶素子またはこの記憶素子を含む記憶領域が、エラー箇所として管理される。エラー箇所は、ブロック単位で管理されることがあり、不良ブロックと称されることがある。不良ブロックの量（数）が増えると、情報を記憶するための記憶領域が減るため、情報記憶装置における情報を記憶する機能が劣化したと判断されることがあった。そこで、不良ブロックを容易に増加することを回避するための技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−３２８８２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところが従来は、不良ブロックとして管理される記憶領域は単に増加するのみであった。すなわち、情報記憶装置において、情報の記憶に利用できない記憶領域の発生を抑制することが困難であった。
【０００６】
そこで、本発明が解決しようとする課題は、情報の記憶に利用できない記憶領域の発生を抑制することができる情報記憶装置および情報記憶方法を提供することである。
【課題を解決するための手段】
【０００７】
本実施形態にかかる情報記憶装置は、半導体メモリと、管理手段とを具備する。半導体メモリは、情報を記憶するための記憶領域を有する。管理手段は、半導体メモリの記憶領域のうちリードエラーの発生する回数が２以上となった記憶領域を情報の記憶の利用から除外するように管理する。
【図面の簡単な説明】
【０００８】
【図１】本実施形態にかかる情報記録装置としてのＳＳＤを備える電子機器の構成を示すブロック図。
【図２】本実施形態において、ＣＰＵで実行される複数の処理を実行するソフトウェアモジュールの構成を説明するためのブロック図。
【図３】本実施形態にかかるＳＳＤで実行されるリード処理の動作を説明するためのフローチャート。
【図４】本実施形態にかかるＳＳＤで実行されるライト処理の動作を説明するためのフローチャート。
【図５】本実施形態にかかるＳＳＤで実行される記憶領域管理処理の動作を説明するためのフローチャート。
【発明を実施するための形態】
【０００９】
以下、本実施形態について図面を用いて説明する。
図１は、本実施形態にかかる情報記録装置としてのＳＳＤ（Solid  State  Drive）１０を備える電子機器１００の構成を示すブロック図である。電子機器１００は、ホスト装置９０を備えている。ＳＳＤ１０は、通信手段８０を介してホスト装置９０と接続され、ホスト装置９０の記憶モジュールとして機能する。通信手段８０は、ホスト装置９０とＳＳＤ１０とを接続し、ホスト装置９０とＳＳＤ１０との間のデータ及びコマンドの送受に係る通信に利用される。例えば、電子機器１００は、パーソナルコンピュータであり、ホスト装置９０は、パーソナルコンピュータに備えられるチップセットＩＣである。
【００１０】
本実施形態にかかるＳＳＤ１０は、ホストＩ／Ｆ１、データ制御部２、ＥＣＣ制御部３、メモリＩ／Ｆ４、ＣＰＵ５、ＲＡＭ６、主メモリ７を備える。これら複数のブロックのいくつかは、バス８により接続されて情報を送受する。ＲＡＭ６は、利用可能領域情報１１、利用不可能領域情報１２、利用判定中領域情報１３を記憶する。主メモリ７は、システムデータ領域２１、ユーザデータ領域２２、データ保持状態判定領域２３といった記憶領域を含む。
【００１１】
このＳＳＤ１０では、ホスト装置９０から送信されたデータに対応するデータを主メモリ７に記憶するライト処理が実行される。また、ホスト装置９０から要求されたデータに対応するデータを主メモリ７から読み出すリード処理も実行される。本実施形態では、主メモリ７の記憶領域のうち、データのライト処理またはリード処理に利用できない記憶領域（以下、不良記憶領域とも称する）を除外したライト処理及びリード処理が実行される。
【００１２】
後述するが、本実施形態では、主メモリ７にＮＡＮＤメモリが適用される。ＮＡＮＤメモリを利用する記憶媒体に対するリード処理では、次のようなリードエラーが発生することがある。
（１）経年劣化的なメモリ素子の疲弊による真正エラー（メモリセルの不良）。
（２）比較的に長時間の間に、メモリ素子に対して読み出しまたは書き込みをしないことによるデータリテンションエラー。
（３）同一のメモリ素子を繰り返し読み出すことによるリードディスターブエラー。
本実施形態にかかるＳＳＤ１０では、これらのリードエラーの原因となる不良記憶領域の発生を抑制する。
【００１３】
ホストＩ／Ｆ１は、ホスト装置９０との間でデータを送受信する通信処理を実行する。例えばホストＩ／Ｆ１は、ホスト装置９０との間で、ＳＡＴＡ（Serial  Advanced  Technology  Attachment）規格またはＳＡＳ(Serial  Attached  SCSI)規格に準拠した通信処理を実行する。ホストＩ／Ｆ１は、データを記憶するためのライトコマンドをホスト装置９０から受信すると、受信したライトコマンドに付随するライトデータをデータ制御部２へ出力する。また、ホストＩ／Ｆ１は、データを読み出すためのリードコマンドをホスト装置９０から受信すると、対応するリードデータをデータ制御部２から入力される。
【００１４】
データ制御部２は、ホストＩ／Ｆ１とＥＣＣ制御部３との間のデータの送受信における、データのキャッシュ処理やリオーダリング処理を制御する。また、データ制御部２は、メモリＩ／Ｆ４と主メモリ７との間のデータの送受信における、データのキャッシュ処理やリオーダリング処理を制御する。
【００１５】
ＥＣＣ制御部３は、ライト処理およびリード処理における、データ（の誤り）を訂正する訂正処理を制御する。ＥＣＣ制御部３は、リード処理では、メモリＩ／Ｆ４から入力されたユーザデータと訂正符号データとに基づいて、入力されたユーザデータを訂正してデータ制御部２へ送信する。また、ＥＣＣ制御部３は、ライト処理では、データ制御部２から入力されたユーザデータに対する訂正符号データを生成し、入力されたユーザデータと生成された訂正符号データとをメモリＩ／Ｆ４へ出力する。ＥＣＣ制御部３は、データの訂正処理において、対象のデータの訂正が可能か不可能かを判定する訂正可否判定を実行する。またＥＣＣ制御部３は、対象のデータが訂正可能である場合、所定単位（例えば、主メモリ７に対するデータの記録単位または読出し単位）に対する訂正エラーの発生数を計数するエラー数カウント処理を実行する。ＥＣＣ制御部３は、訂正可否判定およびエラー数カウント処理の結果をＣＰＵ５へ送信する。
【００１６】
メモリＩ／Ｆ４は、主メモリ７との間でのデータの送受信処理を実行する。メモリＩ／Ｆ４は、主メモリ７に対するデータの記録単位またはデータの読出し単位で、データの送受信処理を実行する。またメモリＩ／Ｆ４は、主メモリ７に対するデータの消去単位で、主メモリ７に記憶されたデータの一部を消去する。
【００１７】
ＣＰＵ５は、図示せぬ不揮発性記憶部に記憶されたプログラムを実行することでＳＳＤ１０に備えられた各ブロックを制御するプロセッサである。ＣＰＵ５は、データのライト処理またはリード処理の動作を制御し、これらの処理の対象となる、主メモリ７の記憶領域に関する情報を管理する記憶領域管理処理を実行する。またＣＰＵ５は、ＥＣＣ制御部３から、訂正可否判定およびエラー数カウント処理の結果を受信する。ＣＰＵ５は、ＥＣＣ制御部３から受信した結果に基づいて、ライト処理またはリード処理の対象となる記憶領域に関する情報をＲＡＭ６に記憶させる。ＣＰＵ５が、訂正可否判定およびエラー数カウント処理の結果に基づいて、ライト処理またはリード処理の対象となる記憶領域に関する情報を管理することで、不良記憶領域の発生を抑制することが可能となる。
【００１８】
ＲＡＭ６は、ＳＳＤ１０に備えられた各ブロックのワークメモリである。ＲＡＭ６には、揮発性メモリであるＤＲＡＭが適用される。本実施形態では、ＲＡＭ６は、利用可能領域情報１１、利用不可能領域情報１２、利用判定中領域情報１３を記憶する。これらの情報は、主メモリ７の記憶領域に関する情報であり、ＣＰＵ５によって管理される。これらの情報は、ＳＳＤ１０の電源投入（詳細には、ＲＡＭ６への電源投入）に応じて、図示せぬ不揮発性記憶部に対して記憶または読み出される。
【００１９】
利用可能領域情報１１は、ライト処理またはリード処理に利用できる記憶領域を特定するための情報である。利用不可能領域情報１２は、ライト処理またはリード処理に利用できない記憶領域を特定するための情報である。利用判定中領域情報１３は、一時的にライト処理またはリード処理に利用できない記憶領域とされた記憶領域を特定するための情報である。利用判定中領域情報１３として記憶される記憶領域の情報には、カウンタ値が対応付けられている。
【００２０】
主メモリ７は、ＮＡＮＤメモリを適用する半導体メモリである。本実施形態では、主メモリ７が１つである構成を説明するが、主メモリ７が複数備えられる構成であってもよい。主メモリ７は、メモリＩ／Ｆ４により、データを送受信またはデータを消去される。本実施形態では、主メモリ７は、システムデータ領域２１、ユーザデータ領域２２、データ保持状態判定領域２３といった記憶領域を含んで構成される。
【００２１】
システムデータ領域２１は、ＳＳＤ１０の動作に必要なシステム情報を記憶するための記憶領域である。ユーザデータ領域２２は、ホスト装置９０から送信されたデータ（ユーザデータ）およびこのデータに対応する訂正符号データを記憶するための記憶領域である。データ保持状態判定領域２３は、データの記憶状態（保持状態）を判定（データリテンション判定とも称される）するための領域である。この判定は、ＳＳＤ１０の電源遮断時に更新されるデータを、ＳＳＤ１０の電源投入時に読み出すことで行われる。具体的には、読み出したデータに対する訂正処理の結果に基づいて、データの記憶状態（保持状態）が判定される。
【００２２】
このような構成により、本実施形態にかかるＳＳＤ１０に備えられた複数のブロックによって、データのライト処理またはリード処理が実行される。また、これらの処理の対象となる主メモリ７の記憶領域に関する情報が管理される。この記憶領域に関する情報が管理されてデータのライト処理またはリード処理が実行されることで、不良記憶領域が容易に発生しなくなる。
【００２３】
次に、図２を用いて、本実施形態において、ＣＰＵ５で実行される複数の処理を実行するソフトウェアモジュールを説明する。図２は、本実施形態において、ＣＰＵ５で実行される複数の処理を実行するソフトウェアモジュールの構成を説明するためのブロック図である。
【００２４】
本実施形態にかかるＣＰＵ５で実行されるソフトウェアモジュールは、リードモジュール２０１、ライトモジュール２０２、エラー訂正モジュール２０３、情報管理モジュール２０４を含む。これらのモジュールは、図示せぬ不揮発性記憶部に記憶されたプログラムである。これらのモジュールがＣＰＵ５で実行され、ＳＳＤ１０に備えられる複数のブロックと協働することで、所定の動作が実行される。
【００２５】
リードモジュール２０１は、ホスト装置９０から要求されるリードコマンドに基づいて、要求されたデータを主メモリ７から読み出し、読み出したデータに所定の処理を施したデータをホスト装置９０へ転送するリード処理を実行する。
【００２６】
ライトモジュール２０２は、ホスト装置９０から送信されたデータに所定の処理を施したデータを主メモリ７に記憶するライト処理を実行する。また、ライトモジュール２０２は、記録可能な領域として割り当てる記憶領域に記録されたデータを消去するイレーズ処理を実行する。
【００２７】
エラー訂正モジュール２０３は、リード処理において、主メモリ７から読み出されたデータと、このデータに対応する訂正符号データに基づいて、データ（の誤り）を訂正する誤り訂正処理を実行する。また、エラー訂正モジュール２０３は、ライト処理において、ホスト装置９０から送信されたデータに対して、このデータに対応する訂正符号データを生成する訂正処理を実行する。エラー訂正モジュール２０３は、データの訂正処理において、対象のデータの訂正の可否を判定し、対象のデータが訂正可能である場合、所定単位（例えば、主メモリ７に対するデータの記録単位または読出し単位）に対する訂正エラーの発生数を計数する。
【００２８】
情報管理モジュール２０４は、データのライト処理またはリード処理の対象となる、主メモリ７の記憶領域に関する情報を管理する。情報管理モジュール２０４は、ライト処理におけるライトエラーの発生、またはリード処理におけるリードエラーの発生に基づいて、対象となる記憶領域に関する情報を管理する。対象となる記憶領域に関する情報として、この記憶領域がライト処理またはリード処理の対象となるか否か（換言すれば、不良記憶領域となるか否か）に対応する情報が管理される。情報管理モジュール２０４は、エラー訂正モジュール２０３が計数した訂正エラーの発生数または訂正の可否の結果に基づいて、主メモリ７の記憶領域に関して不良記憶領域としての情報を登録する。
【００２９】
このような構成により、本実施形態にかかるＣＰＵ５で実行される複数のモジュールによって、データのライト処理またはリード処理が実行される。また、これらのモジュールによって、主メモリ７の記憶領域に関する情報が管理される。この記憶領域に関する情報が管理されてデータのライト処理またはリード処理が実行されることで、不良記憶領域が容易に発生しなくなる。
【００３０】
次に、図３を用いて、本実施形態にかかるＳＳＤ１０で実行されるリード処理の動作を説明する。
図３は、本実施形態にかかるＳＳＤ１０で実行されるリード処理の動作を説明するためのフローチャートである。
リード処理は、ＣＰＵ５が主にリードモジュール２０１を実行することで制御される。本実施形態では、リード処理に伴って、主メモリ７の記憶領域に関する情報を管理する記憶領域管理処理も実行される。記憶領域管理処理は、ＣＰＵ５が情報管理モジュール２０２を実行することで制御される。
【００３１】
記憶領域９０から受領したリードコマンドに応じて、主メモリ７のユーザデータ領域２２からリードコマンドに対応するデータおよび訂正符号データが読み出される（Ｓ３０１）。読み出されたデータおよび訂正符号データは、対象となるデータの訂正を行うためにＥＣＣ制御部３で評価される（Ｓ３０２）。そして、対象となるデータの訂正は必要か否かが判定され（Ｓ３０３）、訂正が必要の場合（Ｓ３０３のＹｅｓ）、訂正が実行されて訂正不能か否かが判定される（Ｓ３０４）。対象データが訂正不能でない場合（Ｓ３０４のＮｏ）、ＥＣＣ制御部３はこのデータを訂正する（Ｓ３０５）。
【００３２】
データの訂正の結果、所定単位に対するエラー訂正数が閾値以下であるか否かが判定される（Ｓ３０６）。エラー訂正数が閾値以下でない場合（Ｓ３０６のＮｏ）、主メモリ７のユーザデータ領域２２から読み出されたデータおよび訂正符号データは、ライトモジュール２０２により、読み出した記憶領域でない他の記憶領域にライトされる（Ｓ３０７）。その後、情報管理モジュール２０４により、リードコマンドに対応する記憶領域に関して、不良記憶領域（エラー領域）としての情報の登録処理が実行される（Ｓ３０８）。すなわち、エラー訂正数が閾値より多く訂正され、リードエラーとなる可能性を有する場合、対象となる記憶領域に関して、不良記憶領域（エラー領域）としての情報の登録処理が実行される。また、リードコマンドに対応する記憶領域から読み出されたデータに対応し、エラー訂正数が閾値以下でなく（エラー訂正数が閾値より多く）訂正されたデータが、記憶領域９０に転送されて（Ｓ３０９）、リード処理は終了する。
【００３３】
一方、訂正の対象となるデータの訂正の結果、訂正不能（リードエラー）である場合（Ｓ３０４のＹｅｓ）、情報管理モジュール２０４により、リードコマンドに対応する記憶領域に関して、不良記憶領域（エラー領域）としての情報の登録処理が実行される（Ｓ３１０）。すなわち、リードエラーとなった場合、対象となる記憶領域に関して、不良記憶領域（エラー領域）としての情報の登録処理が実行される。また、訂正不能であること（リードエラー）に対応するエラー状態が、記憶領域９０へ通知され（Ｓ３１１）、訂正不能であるデータが、記憶領域９０に転送されて（Ｓ３０９）、リード処理は終了する。
【００３４】
また、訂正の対象となるデータが、訂正が必要でない（訂正の必要がない程度に正常である）場合（Ｓ３０３のＮｏ）、このデータが、記憶領域９０に転送されて（Ｓ３０９）、リード処理は終了する。さらに、訂正の対象となるデータの訂正の結果、エラー訂正数が閾値以下である場合（Ｓ３０６のＹｅｓ）も、エラー訂正数が閾値以下で訂正されたデータが、記憶領域９０に転送されて（Ｓ３０９）、リード処理は終了する。
【００３５】
このようにして、ＣＰＵ５で実行される複数のモジュールによって本実施形態にかかるリード処理が実行される。本実施形態にかかるリード処理によれば、リード処理の対象となる記憶領域から読み出されたデータに対するエラー訂正数または訂正の可否の結果に基づいて、この記憶領域に関して不良記憶領域としての情報が登録される。この情報の登録処理は、不良記憶領域が容易に発生しないように行われる。
【００３６】
次に、図４を用いて、本実施形態にかかるＳＳＤ１０で実行されるライト処理の動作を説明する。
図４は、本実施形態にかかるＳＳＤ１０で実行されるライト処理の動作を説明するためのフローチャートである。
ライト処理は、ＣＰＵ５が主にライトモジュール２０２を実行することで制御される。本実施形態では、ライト処理に伴って、主メモリ７の記憶領域に関する情報を管理する記憶領域管理処理も実行される。記憶領域管理処理は、ＣＰＵ５が情報管理モジュール２０２を実行することで制御される。
【００３７】
記憶領域９０から受領したライトコマンドに応じて、記憶領域９０から送信されたライトするデータが受信される（Ｓ４０１）。エラー訂正モジュール２０３は、受信したデータに対応するデータに対し、このデータの訂正で用いられる訂正符号データを生成する（Ｓ４０２）。受信したデータに対応するデータおよび生成された訂正符号データは、主メモリ７のユーザデータ領域２２に対してライトされる（Ｓ４０３）。このライト動作の結果は評価され（Ｓ４０４）、ライト動作の結果が正常である場合（Ｓ４０４のＹｅｓ）、ライト処理は終了する。
【００３８】
一方、ライト動作の結果の評価が正常でない（ライトエラーである）場合（Ｓ４０４のＮｏ）、情報管理モジュール２０４により、ライトコマンドに対応する記憶領域に関して、不良記憶領域（エラー領域）としての情報の登録処理が実行される（Ｓ４０６）。すなわち、ライトエラーとなった場合、対象となる記憶領域に関して、不良記憶領域（エラー領域）としての情報の登録処理が実行される。また、ライト動作の結果が異常であること（ライトエラー）に対応するエラー状態が、記憶領域９０へ通知され（Ｓ４０７）、ライト処理は終了する。
【００３９】
このようにして、ＣＰＵ５で実行される複数のモジュールによって本実施形態にかかるライト処理が実行される。本実施形態にかかるライト処理によれば、ライト処理の対象となる記憶領域へのライト動作の結果に基づいて、この記憶領域に関して不良記憶領域としての情報が登録される。この情報の登録処理は、不良記憶領域が容易に発生しないように行われる。
【００４０】
次に、図５を用いて、本実施形態にかかるＳＳＤ１０で実行される記憶領域管理処理の動作を説明する。
図５は、本実施形態にかかるＳＳＤ１０で実行される記憶領域管理処理の動作を説明するためのフローチャートである。
記憶領域管理処理は、ＣＰＵ５が情報管理モジュール２０２を実行することで制御される。記憶領域管理処理は、リード処理またはライト処理の動作の一部である、不良記憶領域（エラー領域）としての情報の登録処理として実行される。また、記憶領域管理処理は、主メモリ７の記憶領域の一部をライト処理に利用できるように新規に割り当てるためにも利用される。すなわち、記憶領域管理処理では、少なくとも２つの処理が実行される。
【００４１】
まずは、実行する処理が判別される（Ｓ５０１）。実行する処理が、不良記憶領域（エラー領域）としての情報の登録処理（エラー領域の登録処理）である場合は、以下の動作が実行される。
【００４２】
登録の対象となる記憶領域に関する情報が、ＲＡＭ６内で利用判定中領域情報１３として既に登録されているか否かが判定される（Ｓ５０２）。登録の対象となる記憶領域について、利用判定中領域情報１３として登録されていない場合（Ｓ５０２のＮｏ）、この記憶領域に関する情報が、利用判定中領域情報１３として登録される（Ｓ５０３）。登録の対象となる記憶領域について、利用判定中領域情報１３として登録されている場合（Ｓ５０２のＹｅｓ）、この記憶領域に関する情報に対応付けられたカウンタがインクリメントされる（Ｓ５０４）。その後、インクリメントされたカウンタ値が閾値以下であるかが判定され（Ｓ５０５）、カウンタ値が閾値以下である場合（Ｓ５０５のＹｅｓ）、記憶領域管理処理は終了する。閾値は２以上であることが好ましい。インクリメントされたカウンタ値が閾値以下でない場合（Ｓ５０５のＮｏ）、登録の対象となる記憶領域に関する情報が、利用不可能領域情報１２として登録され（Ｓ５０６）、記憶領域管理処理は終了する。
【００４３】
本実施形態にかかる記憶領域管理処理では、エラー領域としての登録対象の記憶領域について、登録処理を実行する回数がカウンタ値として対応付けて管理されている。そして、カウンタ値が閾値よりも大きくなると、対象の記憶領域が利用不可能な記憶領域として管理される。換言すると、カウンタ値が閾値以下であれば、対象の記憶領域は、情報の記憶の利用から一時的に除外する仮除外領域として管理され、カウンタ値が閾値よりも大きくなると、対象の記憶領域は、情報の記憶の利用から恒久的に除外する除外領域として管理される。すなわち、不良記憶領域が容易に発生しない。
【００４４】
一方、実行する処理が、主メモリ７の記憶領域の一部をライト処理に利用できるように新規に割り当てるために実行される場合は、以下の動作が実行される。
新規に割り当てる対象となる記憶領域に関する情報として、ＲＡＭ６内で、利用可能領域情報１１または利用判定中領域情報１３として登録されている記憶領域が抽出される（Ｓ５０７）。記憶領域の抽出については、利用可能領域情報１１に登録されている記憶領域、利用可能領域情報１１および利用判定中領域情報１３のうち登録されている記憶領域の量（数）が多いほうに登録されている記憶領域、利用判定中領域情報１３に登録されている記憶領域、の何れを優先してもよい。抽出された記憶領域に記録されたデータに対して、ライトモジュール２０２によってイレーズ処理が実行される（Ｓ５０８）。このイレーズ処理の結果が正常であるか否かが判定され（Ｓ５０９）、イレーズ処理の結果が正常である場合（Ｓ５０９のＹｅｓ）、記憶領域管理処理は終了する。イレーズ処理の結果が正常でない場合（Ｓ５０９のＮｏ）、イレーズ動作の結果が異常であること（イレーズエラー）に対応するエラー状態が、記憶領域９０へ通知され（Ｓ５１０）、記憶領域管理処理は終了する。
【００４５】
本実施形態にかかる記憶領域管理処理では、ライト処理に利用できるように新規に割り当てる記憶領域として、利用可能領域情報１１または利用判定中領域情報１３の記憶領域が抽出される。すなわち、エラー領域として登録される回数をカウントされた記憶領域が、ライト処理に利用できる記憶領域として復活することが可能となる。
【００４６】
このようにして、本実施形態にかかる記憶領域管理処理は、登録対象の記憶領域について、リードエラーとなる可能性を有する場合、リードエラーまたはライトエラーとなった場合に実行される。また、このような場合でも、登録対象となる記憶領域に関する情報に対応付けられたカウンタ値によって、不良記憶領域が容易に発生しない。従って、本実施形態に係るＳＳＤ１０は、情報の記憶に利用できない記憶領域の発生を抑制することができる。
【００４７】
以上説明したように本実施形態によれば、リードエラーとなる可能性を有する場合、または、リードエラーまたはライトエラーが発生した場合でも、対象となる記憶領域が即時に不良記憶領域となることが避けられる。また、エラー領域として登録対象とされた記憶領域が、ライト処理に利用できる記憶領域として復活することができる。従って、本実施形態に係るＳＳＤ１０によれば、情報の記憶に利用できない記憶領域の発生を抑制することができる。
【００４８】
本実施形態の動作は、通常動作でのリード処理またはライト処理において実施されればよいが、これに限定されるものではない。例えば、ＳＳＤ１０の電源投入時に実施されるデータリテンション判定でのリード処理またはライト処理において実施されてもよい。また、通常動作の空き時間にデータ保持状態判定領域２３を利用したセルフテストとしての動作でのリード処理またはライト処理において実施されてもよい。
【００４９】
なお、少なくとも一つの実施形態を説明したが、説明した実施形態は一例として提示したものであり、発明の範囲はこの実施形態に限定されない。また、説明した実施形態は、本発明の要旨を変えない範囲において、種々の変更、改変等が可能である。さらに、前述した実施形態に開示されている複数の構成要素を適宜に組み合わせることにより、種々の発明を形成することができる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよく、さらに、異なる実施形態に係る構成要素を適宜組み合わせても良い。これらの実施形態やその変形は、発明の範囲や要旨に含まれ、特許請求の範囲に記載された発明と、その均等の範囲に含まれるものである。
【符号の説明】
【００５０】
１…ホストＩ／Ｆ、２…データ制御部、３…ＥＣＣ制御部、４…メモリＩ／Ｆ、５…ＣＰＵ、６…ＲＡＭ、７…主メモリ、８…バス、１０…ＳＳＤ、８０…通信手段、９０…ホスト装置。
【図１】
2013054409.tif 000003
【図２】
2013054409.tif 000004
【図３】
2013054409.tif 000005
【図４】
2013054409.tif 000006
【図５】
2013054409.tif 000007