(57)【要約】【課題】不揮発性メモリ装置及び前記不揮発性メモリ装置を制御するように構成されるコントローラを含む、長寿命のストレージ装置、ストレージ装置の寿命を増加できる動作方法、及び、そのようなストレージ装置及びホスト装置を含むコンピューティング装置の動作方法を提供する。【解決手段】本発明に係るストレージ装置の動作方法は、コントローラが不揮発性メモリ装置又はコントローラの欠陥を検出する段階、コントローラが欠陥を外部のホスト装置に通知する段階、コントローラが欠陥を復旧する１以上の復旧方法を外部のホスト装置に通知する段階、及び外部のホスト装置によって、又は、選択的には、自立的な判断によって選択される復旧方法に従って、コントローラが欠陥を復旧し、ホスト装置がデータを復旧する段階を含む。【選択図】図２
2017201519.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性メモリ装置及び前記不揮発性メモリ装置を制御するように構成されるコントローラを含むストレージ装置の動作方法において、
前記コントローラが前記不揮発性メモリ装置又は前記コントローラの欠陥（ｆａｕｌｔ）を検出する段階と、
前記コントローラが前記欠陥を外部のホスト装置に通知する段階と、
前記コントローラが前記欠陥を復旧する１以上の復旧方法を前記外部のホスト装置に通知する段階と、
前記外部のホスト装置によって選択される復旧方法に従って、前記コントローラが前記欠陥を復旧する段階と、を含むことを特徴とする動作方法。
【請求項２】
前記コントローラが前記欠陥を前記外部のホスト装置に通知する段階は、
前記外部のホスト装置から受信される要請に応答して前記コントローラが、前記欠陥が発生したか否かを前記外部のホスト装置に通知する段階を含むことを特徴とする請求項１に記載の動作方法。
【請求項３】
前記コントローラが前記欠陥を前記外部のホスト装置に通知する段階は、
前記コントローラが前記外部のホスト装置から要請を受信する段階と、
前記欠陥が検出された時に前記コントローラが、前記欠陥が検出されたことを前記要請に対する応答として前記外部のホスト装置に伝送する段階と、を含み、
前記欠陥が検出されなければ、前記コントローラは、前記要請に対する応答を伝送しないことを特徴とする請求項１に記載の動作方法。
【請求項４】
前記不揮発性メモリ装置は、複数の不揮発性メモリチップを含み、
前記コントローラが前記不揮発性メモリ装置又は前記コントローラの欠陥を検出する段階は、
前記複数の不揮発性メモリチップの中で少なくとも１つのメモリチップが前記コントローラの制御に応答しない時、前記コントローラが前記少なくとも１つのメモリチップの欠陥を検出する段階を含むことを特徴とする請求項１に記載の動作方法。
【請求項５】
前記コントローラが前記不揮発性メモリ装置又は前記コントローラの欠陥を検出する段階は、
前記不揮発性メモリ装置に対する書込み、読出し又は消去が失敗した時に、前記書込み、読出し又は消去が失敗した格納空間の欠陥を検出する段階を含むことを特徴とする請求項１に記載の動作方法。
【請求項６】
前記不揮発性メモリ装置に対する書込み、読出し又は消去が失敗した時に、前記書込み、読出し又は消去が失敗した格納空間の欠陥を検出する段階は、前記不揮発性メモリ装置に予備領域が存在しない時に遂行され、
前記予備領域は、前記不揮発性メモリ装置のメモリブロックの中でローカル欠陥が発生した格納領域を代替するのに使用されることを特徴とする請求項５に記載の動作方法。
【請求項７】
前記コントローラが前記不揮発性メモリ装置又は前記コントローラの欠陥を検出する段階は、
前記コントローラが前記外部のホスト装置の要請に従って前記不揮発性メモリ装置にアクセスする時に、前記アクセスされる格納空間が欠陥を有する（ｆａｕｌｔｙ）か否かを検出する段階を含むことを特徴とする請求項１に記載の動作方法。
【請求項８】
前記コントローラが前記不揮発性メモリ装置又は前記コントローラの欠陥を検出する段階は、
前記コントローラが前記外部のホスト装置からの要請を受けずに背景動作に従って前記不揮発性メモリ装置にアクセスする時に、前記アクセスされる格納空間が欠陥を有するか否かを検出する段階を含むことを特徴とする請求項１に記載の動作方法。
【請求項９】
前記コントローラが前記不揮発性メモリ装置又は前記コントローラの欠陥を検出する段階は、
前記コントローラが前記外部のホスト装置からスクラブ（ｓｃｒｕｂ）動作を通知する情報を受信した後に、前記コントローラが前記外部のホスト装置の要請に従って前記不揮発性メモリ装置にアクセスする時に、前記アクセスされる格納空間が欠陥を有するか否かを検出する段階を含むことを特徴とする請求項１に記載の動作方法。
【請求項１０】
前記コントローラが前記欠陥を前記外部のホスト装置に通知する段階は、
前記コントローラが前記欠陥のタイプ、前記欠陥のレベル、前記欠陥が発生した格納空間のサイズ、前記欠陥が発生した格納空間のアドレス、前記欠陥が発生した格納空間の物理的特徴、及び以前に発生した欠陥のヒストリの中で少なくとも１つを通知する段階を含むことを特徴とする請求項１に記載の動作方法。
【請求項１１】
前記コントローラが前記欠陥を復旧する前記１以上の復旧方法を前記外部のホスト装置に通知する段階は、
前記コントローラが前記１以上の復旧方法の各々を遂行することに伴なって予想される前記ストレージ装置の動作速度の変化、容量の変化、及び復旧遂行時間を通知する段階を含むことを特徴とする請求項１に記載の動作方法。
【請求項１２】
前記１以上の復旧方法は、
前記コントローラが前記不揮発性メモリ装置の格納空間の一部を非活性化し、前記格納空間の一部を除外した残りの格納空間をフォーマットし、前記フォーマットされた格納空間のサイズを前記ストレージ装置の格納空間のサイズに前記外部のホスト装置に報告する復旧方法を含み、
前記格納空間の一部は、前記欠陥が発生した格納空間を含むことを特徴とする請求項１に記載の動作方法。
【請求項１３】
前記１以上の復旧方法は、
前記コントローラが前記不揮発性メモリ装置の格納空間の一部の論理アドレス及び物理アドレスの間のマッピングを固定し、前記固定された論理アドレスに対するアクセスを拒否する復旧方法を含み、
前記格納空間の一部は、前記欠陥が発生した格納空間を含み、
前記動作方法は、
前記外部のホスト装置から前記固定された論理アドレスに対するアクセス要請が受信される時、前記コントローラが前記外部のホスト装置にアクセスエラーを報告する段階をさらに含むことを特徴とする請求項１に記載の動作方法。
【請求項１４】
前記１以上の復旧方法は、
前記コントローラが前記不揮発性メモリ装置の格納空間の一部を非活性化し、前記非活性化された格納空間の一部に対するアクセス要請を残りの格納空間に対するアクセスに置換する復旧方法を含み、
前記格納空間の一部は、前記欠陥が発生した格納空間を含み、
前記動作方法は、
前記残りの格納空間が有効であるデータで満杯の時に、前記コントローラが自由論理アドレスに対する書込み要請を拒否する段階をさらに含むことを特徴とする請求項１に記載の動作方法。
【請求項１５】
前記１以上の復旧方法は、
前記コントローラが前記不揮発性メモリ装置の格納空間の一部を非活性化し、前記非活性化された格納空間の一部のサイズだけ前記ストレージ装置の論理アドレスの範囲を減少させ、前記論理アドレスの範囲の減少によって解除される論理アドレスの中で有効であるデータに対応する論理アドレスを前記減少された論理アドレスの範囲内の論理アドレスにリマッピング（ｒｅｍａｐ）する復旧方法を含み、
前記格納空間の一部は、前記欠陥が発生した格納空間を含むことを特徴とする請求項１に記載の動作方法。
【請求項１６】
前記コントローラが前記欠陥を復旧する前記１以上の復旧方法を前記外部のホスト装置に通知する段階は、
前記コントローラが前記欠陥の特徴に基づいて複数の復旧方法の中から前記１以上の復旧方法を選択する段階と、
前記１以上の復旧方法を前記外部のホスト装置に推薦する段階を含むことを特徴とする請求項１に記載の動作方法。
【請求項１７】
ストレージ装置及び前記ストレージ装置と通信するホスト装置を含むコンピューティング装置の動作方法において、
前記ストレージ装置が前記ストレージ装置の欠陥（ｆａｕｌｔ）を検出する段階と、
前記ストレージ装置が前記欠陥を前記ホスト装置に通知する段階と、
前記ストレージ装置が前記欠陥を復旧する１以上の復旧方法を前記ホスト装置に通知する段階と、
前記ホスト装置が前記１以上の復旧方法の中で１つの復旧方法を選択する段階と、
前記選択された復旧方法に従って、前記ストレージ装置が前記欠陥を復旧する段階と、を含むことを特徴とする動作方法。
【請求項１８】
前記ホスト装置が前記１以上の復旧方法の中で１つの復旧方法を選択する段階は、
前記ホスト装置が前記ホスト装置の状態をチェックする段階と、
前記ホスト装置の状態に従って前記ホスト装置が前記１つの復旧方法を選択する段階を含むことを特徴とする請求項１７に記載の動作方法。
【請求項１９】
前記ストレージ装置が前記欠陥を復旧する１以上の復旧方法を前記ホスト装置に通知する段階は、前記ストレージ装置及び前記ホスト装置に電源が供給される時に遂行され、
前記動作方法は、
前記欠陥が発生した時に、前記ストレージ装置が少なくとも１つの復旧方法を前記ストレージ装置に推薦する段階をさらに含むことを特徴とする請求項１７に記載の動作方法。
【請求項２０】
不揮発性メモリ装置と、
前記不揮発性メモリ装置を制御するように構成されるコントローラと、を含み、
前記コントローラは、
前記不揮発性メモリ装置又は前記コントローラの欠陥を検出するように構成される欠陥検出モジュールと、
前記欠陥を外部のホスト装置に通知する欠陥通知モジュールと、
前記欠陥を復旧する１以上の復旧方法を前記外部のホスト装置に通知する能力チェックモジュールと、
前記外部のホスト装置によって選択される復旧方法に従って前記欠陥を復旧する復旧モジュールと、を含むことを特徴とするストレージ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は不揮発性メモリからなる半導体装置を含むストレージ装置に係り、さらに詳細には、そのストレージ装置、ストレージ装置の動作方法、及びストレージ装置とホスト装置とを含むコンピューティング装置の動作方法に関する。
【背景技術】
【０００２】
ストレージ装置はコンピュータ、スマートフォン、スマートパッド等のようなホスト装置の制御によってデータを格納する装置である。ストレージ装置は、ハードディスクドライブ（ＨＤＤ、Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）のように磁気ディスクにデータを格納する装置、並びに、ソリッドステートドライブ（ＳＳＤ、Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）又はメモリカードのように半導体メモリ、特に不揮発性メモリにデータを格納する装置を含む。
【０００３】
不揮発性メモリはＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＰＲＯＭ（Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  ａｎｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、フラッシュメモリ、ＰＲＡＭ（Ｐｈａｓｅ−ｃｈａｎｇｅ  ＲＡＭ）、ＭＲＡＭ（Ｍａｇｎｅｔｉｃ  ＲＡＭ）、ＲＲＡＭ（登録商標）（Ｒｅｓｉｓｔｉｖｅ  ＲＡＭ）、ＦＲＡＭ（登録商標）（Ｆｅｒｒｏｅｌｅｃｔｒｉｃ  ＲＡＭ）等を含む。
【０００４】
半導体製造技術が発展に伴い、高容量及び高性能を保障する高級のストレージ装置が研究されている。高級のストレージ装置は一般的なストレージ装置と比較して高い価額に製造及び販売されている。従って、高級のストレージ装置で欠陥が発生してストレージ装置が使用できなければ、ストレージ装置を取り替えるのに非常に高い費用が発生する。従って、ストレージ装置が使用できなくなる時点を延長してストレージ装置の寿命を増加させるための研究が要求されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】米国特許第８，２０１，０２４号公報
【特許文献２】米国特許第７，５２６，６７５号公報
【特許文献３】米国特許第８，０４１，９１６号公報
【特許文献４】米国特許第８，０６５，４９２号公報
【特許文献５】米国特許第７，９６２，８０７号公報
【特許文献６】米国特許第８，０４１，９９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の目的は、不揮発性メモリ装置及び前記不揮発性メモリ装置を制御するように構成されるコントローラを含む、長寿命のストレージ装置、ストレージ装置の寿命を増加できる動作方法、及び、そのようなストレージ装置とホスト装置とを含むコンピューティング装置の動作方法を提供することにある。
【課題を解決するための手段】
【０００７】
不揮発性メモリ装置及び前記不揮発性メモリ装置を制御するように構成されるコントローラを含む本発明の実施形態に係るストレージ装置の動作方法は、前記コントローラが前記不揮発性メモリ装置又は前記コントローラの欠陥（ｆａｕｌｔ）を検出する段階と、前記コントローラが前記欠陥を外部のホスト装置に通知する段階と、前記コントローラが前記欠陥を復旧する１以上の復旧方法を前記外部のホスト装置に通知する段階と、前記外部のホスト装置によって選択される復旧方法に従って、前記コントローラが前記欠陥を復旧する段階と、を含む。
【０００８】
ストレージ装置及び前記ストレージ装置と通信するホスト装置を含む本発明の実施形態に係るコンピューティング装置の動作方法は、前記ストレージ装置が前記ストレージ装置の欠陥（ｆａｕｌｔ）を検出する段階と、前記ストレージ装置が前記欠陥を前記ホスト装置に通知する段階と、前記ストレージ装置が前記欠陥を復旧する１以上の復旧方法を前記ホスト装置に通知する段階と、前記ホスト装置が前記１以上の復旧方法の中で１つの復旧方法を選択する段階と、前記選択された復旧方法に従って、前記ストレージ装置が前記欠陥を復旧する段階と、を含む。
【０００９】
本発明の実施形態に係るストレージ装置は、不揮発性メモリ装置と、前記不揮発性メモリ装置を制御するように構成されるコントローラと、を含み、前記コントローラは、前記不揮発性メモリ装置又は前記コントローラの欠陥を検出するように構成される欠陥検出モジュールと、前記欠陥を外部のホスト装置に通知する欠陥通知モジュールと、前記欠陥を復旧する１以上の復旧方法を前記外部のホスト装置に通知する能力チェックモジュールと、前記外部のホスト装置によって選択される復旧方法に従って前記欠陥を復旧する復旧モジュールと、を含む。
【発明の効果】
【００１０】
本発明の実施形態に係るストレージ装置の動作方法によれば、例えば予備ブロックが消尽されるか、又は他の部品の欠陥に起因して部分格納空間に欠陥が発生すれば、前記欠陥を復旧する選択された復旧方法、例えば、欠陥が発生した格納空間を除外した残りの格納空間を利用する復旧方法に従ってストレージ装置が運営される。従って、欠陥が発生しても、ストレージ装置が使用不可能である状態に進入しない。よって、ストレージ装置の寿命を増加させる動作方法が提供される。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態に係るコンピューティング装置を示すブロック図である。
【図２】図１のコンピューティング装置の動作方法を示す順序図である。
【図３】ストレージ装置が欠陥を検出し、欠陥情報を通知する方法の例を示す順序図である。
【図４】ストレージ装置が欠陥を検出し、欠陥情報を通知する方法の他の例を示す順序図である。
【図５】コントローラが欠陥を検出する方法の例を示す順序図である。
【図６】欠陥検出モジュールが検出政策に従って欠陥検出を遂行する例を示す。
【図７】欠陥検出モジュールが検出政策に従って欠陥検出を遂行する他の例を示す。
【図８】欠陥検出モジュールが検出政策に従って欠陥検出を遂行するその他の例を示す。
【図９】欠陥通知モジュールＦＩＭが伝達する欠陥情報の例を示す。
【図１０】ホスト装置が１つ以上の復旧方法を獲得し、１つの復旧方法を選択する例を示す。
【図１１】ホスト装置とストレージ装置とで復旧動作が遂行される例を示す。
【図１２】ホスト装置とストレージ装置とで復旧動作が遂行される他の例を示す。
【図１３】ホスト装置とストレージ装置とで復旧動作が遂行されるその他の例を示す。
【図１４】ホスト装置とストレージ装置とで復旧動作が遂行されるその他の例を示す。
【図１５】ホスト装置又はストレージ装置が復旧動作を完了する例を示す。
【図１６】図１のコンピューティング装置の動作方法の他の例を示す順序図である。
【図１７】図１のコンピューティング装置の動作方法のその他の例を示す順序図である。
【図１８】本発明の実施形態に係るコントローラを示すブロック図である。
【図１９】本発明の実施形態に係る不揮発性メモリ装置を示すブロック図である。
【図２０】本発明の実施形態に係るメモリブロックを示す回路図である。
【発明を実施するための形態】
【００１２】
以下で、本発明が属する技術分野で通常の知識を有する者が本発明の技術的思想を容易に実施できる程度に詳細に説明するために、本発明の実施形態を添付された図面を参照して説明する。
【００１３】
図１は本発明の実施形態に係るコンピューティング装置１０を示すブロック図である。図１を参照すれば、コンピューティング装置１０はホスト装置２０、ストレージ装置３０（不揮発性メモリストレージ装置１００を含む）を含む。
【００１４】
ホスト装置２０はストレージ装置３０にデータを書き込み、ストレージ装置３０からデータを読み出し、そしてストレージ装置３０に書き込まれたデータを消去する。
【００１５】
ストレージ装置３０はハードディスクドライブ（ＨＤＤ）、ソリッドステートドライブ（ＳＳＤ）等を含む。ストレージ装置３０は同種又は異種で構成される。ストレージ装置３０の中で本発明の実施形態に係るソリッドステートドライブはＳＳＤストレージ装置１００としてその詳細が別に図示される。
以下、特許請求の範囲を含め、「ストレージ装置３０」との混同の恐れが無い場合は、「ＳＳＤストレージ装置１００」を、単に「ストレージ装置１００」という。
【００１６】
ストレージ装置１００はソリッドステートドライブである。ストレージ装置１００は不揮発性メモリ装置１１０、コントローラ１２０、及びバッファメモリ１３０を含む。
【００１７】
不揮発性メモリ装置１１０は複数の不揮発性メモリチップＮＶＣを含む。複数の不揮発性メモリチップＮＶＣは２以上のチャンネルを通じてコントローラ１２０と通信する。例えば、１つのチャンネルに２以上の不揮発性メモリチップが連結される。互いに異なるチャンネルに連結された不揮発性メモリチップは互いに並列的にコントローラ１２０と通信する。
【００１８】
コントローラ１２０は不揮発性メモリ装置１１０及びバッファメモリ１３０を制御するように構成される。コントローラ１２０は不揮発性メモリ装置１００の書込み動作、読出し動作、及び消去動作を制御する。コントローラ１２０は不揮発性メモリ装置１１０と交換するデータをバッファメモリ１３０に一時的に格納する。コントローラ１２０はバッファメモリ１３０をコード又はメタデータを格納する動作メモリとして使用する。例えば、バッファメモリ１３０は揮発性又は不揮発性ランダムアクセスメモリを含む。
【００１９】
通常的に、コントローラ１２０は不揮発性メモリ装置１１０の格納空間を使用者領域及び予備領域に分割する。使用者領域はホスト装置２０によって識別される。例えば、コントローラ１２０は使用者領域の格納容量をストレージ装置１００の格納容量としてホスト装置２０に通知する。ホスト装置２０は使用者領域に論理アドレスを割当する。コントローラ１２０はホスト装置２０によって割当された論理アドレスを不揮発性メモリ装置１００の使用者領域の物理アドレスにマッピングする。
【００２０】
使用者領域が、その内の一部の劣化、磨耗又は損傷のために使用不可能になった時に、コントローラ１２０は使用者領域の内の特定の一部の領域に欠陥（例えば、ローカル欠陥）が発生したと識別する。コントローラ１２０は欠陥が発生した使用者領域の一部を非活性化（ｎｅｇａｔｅ）し、予備領域の一部を使用者領域として再割当する。再割当によって、ストレージ装置１００の使用者領域の全体格納容量が維持される。
【００２１】
予備領域が消尽されれば、使用者領域の一部で欠陥が発生しても、コントローラ１２０は予備領域を使用者領域として再割当できない。予備領域が消尽された後にローカル欠陥が発生すれば、コントローラ１２０はグローバル欠陥が発生したと識別する。グローバル欠陥が発生すれば、通常的なストレージ装置の場合は、そのストレージ装置をそれ以上使用できない装置フェイル（ｄｅｖｉｃｅ  ｆａｉｌ）状態に進入する。
【００２２】
しかし、予備領域が消尽された状態で更にローカル欠陥が発生し、従来はこれをグローバル欠陥と認知してしまう場合に、本発明の実施形態に係るストレージ装置１００では装置フェイル（ｄｅｖｉｃｅ  ｆａｉｌ）状態に進入するのを防止し、（従来の）グローバル欠陥をローカル欠陥として扱う復旧（ｒｅｃｏｖｅｒｙ）動作を遂行する。
例えば、復旧動作の間に、コントローラ１２０は欠陥が発生した格納空間に対するアクセスを禁止し、残りの格納空間を利用してストレージ装置１００を駆動するようにストレージ装置１００を設定する。従って、ストレージ装置１００の寿命が延長され、ストレージ装置１００の運営費用が節減される。
【００２３】
上述された復旧動作と連関されて、ホスト装置２０は能力獲得モジュールＣＲＭ（ｃａｐａｂｉｌｉｔｙ  ｒｅｔｒｉｅｖｅ  ｍｏｄｕｌｅ）、システム状態チェックモジュールＳＳＣＭ（ｓｙｓｔｅｍ  ｓｔａｔｕｓ  ｃｈｅｃｋ  ｍｏｄｕｌｅ）、復旧決定モジュールＲＤＭ（ｒｅｃｏｖｅｒｙ  ｄｅｃｉｓｉｏｎ  ｍｏｄｕｌｅ）、及び復旧完了モジュールＲＣＭ（ｒｅｃｏｖｅｒｙ  ｃｏｍｐｌｅｔｉｏｎ  ｍｏｄｕｌｅ）を含む。
能力獲得モジュールＣＲＭはストレージ装置１００が支援する復旧能力に関する情報を獲得する。システム状態チェックモジュールＳＳＣＭはコンピューティング装置２０の状態又は資源に関する情報を収集する。復旧決定モジュールＲＤＭは復旧方法を選択する。復旧完了モジュールＲＣＭは復旧動作が完了された後に、ストレージ装置１００が正常的に駆動されるようにホスト装置２０内の設定を調節し、ホスト装置運営に必要であるデータ復旧のような追加復旧を遂行する。
【００２４】
上述された復旧動作と連関されて、コントローラ１２０は検出政策モジュールＤＰＭ（ｄｅｔｅｃｔｉｏｎ  ｐｏｌｉｃｙ  ｍｏｄｕｌｅ）、欠陥検出モジュールＦＤＭ（ｆａｕｌｔ  ｄｅｔｅｃｔｉｏｎ  ｍｏｄｕｌｅ）、欠陥通知モジュールＦＩＭ（ｆａｕｌｔ  ｉｎｆｏｒｍｉｎｇ  ｍｏｄｕｌｅ）、状態判別モジュールＳＪＭ（ｓｔａｔｕｓ  ｊｕｄｇｍｅｎｔ  ｍｏｄｕｌｅ）、能力チェックモジュールＣＣＭ（ｃａｐａｂｉｌｉｔｙ  ｃｈｅｃｋ  ｍｏｄｕｌｅ）、予測モジュールＰＭ（ｐｒｅｄｉｃｔｉｏｎ  ｍｏｄｕｌｅ）、復旧モジュールＲＭ（ｒｅｃｏｖｅｒｙ  ｍｏｄｕｌｅ）、及びメモリ管理モジュールＭＭＭ（ｍｅｍｏｒｙ  ｍａｎａｇｅｍｅｎｔ  ｍｏｄｕｌｅ）を含む。
検出政策モジュールＤＰＭはコントローラ１２０が欠陥を検出する政策に関する情報を格納する。欠陥検出モジュールＦＤＭはストレージ装置１００内の構成要素、例えば不揮発性メモリ装置１１０、コントローラ１２０、及びバッファメモリ１３０で欠陥（ローカル欠陥又はグローバル欠陥）が発生するか否かを検出する。欠陥通知モジュールＦＩＭは検出された欠陥、例えばグローバル欠陥に関する情報をホスト装置２０に通知する。状態判別モジュールＳＪＭは欠陥の状態を判別する。
能力チェックモジュールＣＣＭはコントローラ１２０が支援する復旧方法に関する情報を格納する。予測モジュールＰＭは各復旧方法が遂行されることによってストレージ装置１００の性能、例えば動作速度及び容量が変化する程度を予測する。復旧モジュールＲＭは選択された復旧方法に従って復旧を遂行する。メモリ管理モジュールＭＭＭは不揮発性メモリ装置１１０を管理する。例えば、メモリ管理モジュールＭＭＭはホスト装置２０によって割当される論理アドレス及び不揮発性メモリ装置１１０の物理アドレスの間のマッピング情報を管理する。メモリ管理モジュールＭＭＭは復旧結果によって、マッピング情報を更新する。
【００２５】
復旧動作と連関された各モジュールの動作は添付された図面を参照して後述される。
【００２６】
図１に示したホスト装置２０内の、又はコントローラ１２０内のモジュールは例示的なものであり、本発明の技術的思想を限定しない。例示的に、コントローラ１２０又はホスト装置２０のモジュールの中で少なくとも１つは省略できる。コントローラ１２０の中で、又はホスト装置２０のモジュールの中で２以上のモジュールは１つのモジュールに統合できる。コントローラ１２０の、又はホスト装置２０のモジュールの中で少なくとも１つは２以上のサブモジュールに分割できる。
【００２７】
以下の詳細な説明は、ホスト装置２０の各モジュール及びコントローラ１２０の各モジュールは互いに通信可能であることを前提とする。ホスト装置２０の各モジュール及びコントローラ１２０の各モジュールはホスト装置２０とストレージ装置１００とを連結する共有物理チャンネルを利用して互いに通信する。例えば、ホスト装置２０の各モジュールはコントローラ１２０の各モジュールにＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）、コマンド、及びコマンドと連関されたアドレス又はアーギュメント、共有チャンネルに相応しいパケット等の形態をとってコントローラ１２０の各モジュールに情報を伝達でき、これらは、「要請」（ｒｅｑｕｅｓｔｓ）と総称される。ホスト装置２０の各モジュールの要請に従って、コントローラ１２０の各モジュールは応答をホスト装置２０の各モジュールに伝達する。
【００２８】
図２は図１のコンピューティング装置１０の動作方法を示す順序図である。図１及び図２を参照すれば、Ｓ１１０段階で、ストレージ装置１００、例えばコントローラ１２０はストレージ装置１００内の欠陥、例えばローカル欠陥（又はグローバル欠陥を発生させるローカル欠陥）を検出する。例えば、欠陥は欠陥検出モジュールＦＤＭによって検出される。欠陥検出モジュールＦＤＭは検出政策モジュールＤＰＭに格納された欠陥検出政策に従って欠陥検出を遂行する。
【００２９】
Ｓ１２０段階で、ストレージ装置１００、例えばコントローラ１２０は欠陥情報をホスト装置２０に通知する。例えば、欠陥情報は欠陥通知モジュールＦＩＭによって収集され、ホスト装置２０に伝達される。
【００３０】
Ｓ１３０段階で、ストレージ装置１００、例えばコントローラ１２０は、欠陥の復旧に利用可能な（ａｖａｉｌａｂｌｅ）復旧方法（ｒｅｃｏｖｅｒｙ  ｓｃｈｅｍｅｓ）をホスト装置２０に伝送する。例えば、利用可能な復旧方法は能力チェックモジュールＣＣＭによって管理され、ホスト装置２０に伝達される。例えば、能力チェックモジュールＣＣＭはホスト装置２０の能力獲得モジュールＣＲＭの要請によって復旧方法をホスト装置２０又は能力獲得モジュールＣＲＭに伝達する。例えば、能力チェックモジュールＣＣＭは１つ以上の復旧方法をホスト装置２０に伝達する。能力チェックモジュールＣＣＭは、支援する全ての復旧方法、又は支援する全ての復旧方法の中で現在の欠陥を復旧するのにより適している一部の復旧方法をホスト装置２０に通知する。
【００３１】
Ｓ１４０段階で、ホスト装置２０はストレージ装置１００から伝達された復旧方法の中で１つを選択する。例えば、復旧方法は復旧決定モジュールＲＤＭによって選択される。復旧決定モジュールＲＤＭは選択された復旧方法をストレージ装置１００、例えばコントローラ１２０に伝達する。
【００３２】
Ｓ１５０段階で、ストレージ装置１００、例えばコントローラ１２０は選択された復旧方法に従って復旧動作を遂行する。復旧動作は復旧モジュールＲＭによって遂行される。
【００３３】
Ｓ１６０段階で、ストレージ装置１００及びホスト装置２０は復旧動作を完了する。復旧動作の完了はホスト装置２０の復旧完了モジュールＲＣＭ及びコントローラ１２０のメモリ管理モジュールＭＭＭによって遂行される。例えば、復旧完了モジュールＲＣＭ及びコントローラ１２０は復旧動作によって変化されたストレージ装置１００の性能又は資源に関する情報を共有する。復旧動作が完了されれば、ホスト装置２０はストレージ装置１００を正常にアクセスできる。
ストレージ装置１００が復旧動作を遂行する間にも、ストレージ装置１００はローカル欠陥が発生しない正常格納空間に関するホスト装置２０のアクセスを許容する。例えば、ストレージ装置１００は正常格納空間に関する書込み及び読出しを許容するか、書込みを禁止し、読出しを許容するか、又は、書込み及び読出しを全て禁止し状態情報の交換のみを許容する。例えば、アクセスを許容する程度はストレージ装置１００によって決定されるか、又はホスト装置２０によって決定される。
【００３４】
図３はストレージ装置１００が欠陥を検出（図２のＳ１１０段階）し、欠陥情報を通知する（図２のＳ１２０段階）方法の例を示す順序図である。図１及び図３を参照すれば、Ｓ２１０段階で、ホスト装置２０は欠陥条件をストレージ装置１００に伝達する。例えば、ホスト装置２０は欠陥として判別される条件をコントローラ１２０の欠陥検出モジュールＦＤＭに伝達する。例えば、Ｓ２１０段階はコンピューティング装置１０がパワーオンされて初期化又はパワーオンリセットを遂行する時に遂行される。欠陥検出モジュールＦＤＭが予め格納された基本条件を利用して欠陥を検出するように構成されれば、Ｓ２１０段階は省略できる。
【００３５】
Ｓ２２０段階で、ホスト装置２０は欠陥検出政策をストレージ装置１００に伝達する。例えば、ホスト装置２０は欠陥検出を遂行するタイミングに関する情報を含む欠陥検出政策をコントローラ１２０の検出政策モジュールＤＰＭに伝達する。例えば、Ｓ２２０段階はコンピューティング装置１０がパワーオンされて初期化又はパワーオンリセットを遂行する時に遂行される。検出政策モジュールＤＰＭが予め格納された基本政策を利用して欠陥を検出するように構成されれば、Ｓ２２０段階は省略できる。
【００３６】
検出条件及び欠陥検出政策の設定が完了された後に、ホスト装置２０は欠陥検出ポーリング（ＦＤＰ、Ｆａｕｌｔ  Ｄｅｔｅｃｔｉｏｎ  Ｐｏｌｌｉｎｇ）を遂行する。欠陥検出ポーリングＦＤＰはストレージ装置１００で欠陥が検出されたか否かをホスト装置２０が周期的に又は頻繁に確認する動作を含む。ホスト装置２０はストレージ装置１００に対して書込み、読出し、又は消去を正常的に遂行しながら、欠陥検出ポーリングＦＤＰを背景動作として遂行する。例示的に、欠陥が検出されない時の欠陥検出ポーリングＦＤＰは、ストレージ装置１００の動作の流れに連結されない破線矢印で図示される。
【００３７】
ホスト装置２０が欠陥検出ポーリングＦＤＰを遂行する間に、Ｓ２３０段階で、ストレージ装置１００、例えばコントローラ１２０は欠陥条件及び欠陥検出政策に従って欠陥を検出する。例えば、欠陥検出は欠陥検出モジュールＦＤＭによって遂行される。欠陥検出はストレージ装置１００が不揮発性メモリ装置１１０に対して書込み、読出し、又は消去動作を遂行する間に背景動作として遂行できる。
【００３８】
Ｓ２４０段階で、欠陥が検出されなければ、欠陥検出モジュールＦＤＭは欠陥検出を持続（Ｓ２３０段階）する。欠陥が検出されれば、Ｓ２５０段階が遂行される。
【００３９】
Ｓ２５０段階で、欠陥通知モジュールＦＩＭは欠陥情報を収集し、格納する。以後に、最初に遂行される欠陥検出ポーリングＦＤＭに応答して、欠陥通知モジュールＦＩＭは欠陥情報をホスト装置２０に伝達する。欠陥が検出された後の欠陥検出ポーリングＦＤＰは、ストレージ装置１００の動作の流れに連結された矢印により説明される。
【００４０】
図４はストレージ装置１００が欠陥を検出（図２のＳ１１０段階）し、欠陥情報を通知する（図２のＳ１２０段階）方法の他の例を示す順序図である。図１及び図４を参照すれば、Ｓ３１０段階で、ホスト装置２０は欠陥検出条件をストレージ装置１００に伝達する。欠陥検出モジュールＦＤＭが予め格納された基本条件を利用して欠陥を検出するように構成されれば、Ｓ３１０段階は省略できる。
【００４１】
Ｓ３２０段階で、ホスト装置２０は欠陥検出政策をストレージ装置１００に伝達する。検出政策モジュールＤＰＭが予め格納された基本政策を利用して欠陥を検出するように構成されれば、Ｓ３２０段階は省略できる。
【００４２】
検出条件及び欠陥検出政策の設定が完了された後に、Ｓ３３０段階で、ホスト装置２０は欠陥検出要請をストレージ装置１００に伝達する。例えば、欠陥検出要請は応答が到達する時までのタイムアウト（ｔｉｍｅｏｕｔ）条件を有しないこともあり得る。
【００４３】
Ｓ３４０段階で、ストレージ装置１００、例えばコントローラ１２０は欠陥条件及び欠陥検出政策に従って欠陥を検出する。例えば、欠陥検出は欠陥検出モジュールＦＤＭによって遂行される。欠陥検出はストレージ装置１００が不揮発性メモリ装置１１０に対して書込み、読出し、又は消去動作を遂行する間に背景動作として遂行できる。例えば、欠陥が検出されなければ、コントローラ１２０は書込み、読出し、又は消去要請がＳ３３０段階の欠陥検出要請より先に遂行されるようにスケジューリング（ｓｃｈｅｄｕｌｉｎｇ）できる。
【００４４】
Ｓ３５０段階で、欠陥が検出されなければ、欠陥検出モジュールＦＤＭは欠陥検出を持続（Ｓ３４０段階）する。欠陥が検出されれば、Ｓ３６０段階が遂行される。
【００４５】
Ｓ３６０段階で、欠陥通知モジュールＦＩＭは欠陥情報を収集する。欠陥通知モジュールＦＩＭは収集された欠陥情報をＳ３３０段階で受信された欠陥検出要請の応答としてホスト装置２０に伝達する。
【００４６】
例示的に、ストレージ装置１００は、ホスト装置２０が欠陥検出条件を送信せず、所定の又はストレージ装置の内部的な判断によって調節される欠陥検出条件を利用して欠陥検出を遂行できる。
【００４７】
図５はコントローラ１２０が欠陥を検出（図２のＳ１１０段階）する方法の例を示す順序図である。図１及び図５を参照すれば、Ｓ４１０段階で、コントローラ１２０は不揮発性メモリ装置１１０にアクセス要請を伝送する。例えば、コントローラ１２０は複数の不揮発性メモリチップＮＶＣの中で１つの不揮発性メモリチップにアクセス要請を伝送する。アクセス要請は書込み要請、読出し要請、又は消去要請を含む。
【００４８】
Ｓ４２０段階で、アクセス要請が伝達された不揮発性メモリチップから応答が無い場合、欠陥検出モジュールＦＤＭは該当不揮発性メモリチップでローカル欠陥が発生したと判別する。例えば、１つの不揮発性メモリチップで応答が無い場合、該当不揮発性メモリチップ、又は該当不揮発性メモリチップが属するパッケージ、ウェイ、又はチャンネルでローカル欠陥が発生したと判別される。
例えば、該当不揮発性メモリチップと物理的に連関されている不揮発性メモリチップ（又はパッケージ、ウェイ、又はチャンネル）に対してフェイル検出が遂行されるか、又は連関された不揮発性メモリチップ（又はパッケージ、ウェイ、又はチャンネル）においてローカル欠陥が発生したと判別される。以後に、Ｓ４４０段階が遂行される。アクセス要請が伝達された不揮発性メモリチップが応答すれば、Ｓ４３０段階が遂行される。
【００４９】
Ｓ４３０段階で、欠陥検出モジュールＦＤＭはアクセスがフェイルであるか否かを判別する。例えば、アクセスフェイルは欠陥条件に従って判別される。
【００５０】
例えば、アクセス要請が書込み要請である場合、不揮発性メモリチップでプログラム動作が遂行される。プログラム動作は複数のプログラムループを含む。各プログラムループはプログラム電圧を印加してメモリセルの閾値電圧を増加させるプログラム及びメモリセルの閾値電圧が目標レベルに到達したか否かを判別する検証を含む。プログラムループが第１の所定の最大回数遂行される時点までにメモリセルのプログラムが完了されない場合、又はプログラムループが第２の所定の回数以上に遂行された後にメモリセルのプログラムが完了された場合、欠陥検出モジュールＦＤＭは書込みフェイルと判別する。他の例として、メモリセルでプログラム動作又は消去動作が完了された回数が第３の所定の回数以下であり、且つプログラムループが第４の所定の回数以上に遂行された後にメモリセルのプログラムが完了された場合、欠陥検出モジュールＦＤＭは書込みフェイルと判別する。
【００５１】
例えば、アクセス要請が読出し要請である場合、不揮発性メモリチップで読出し動作が遂行される。読出し結果で検出されるエラーの数が閾値以上である時、欠陥検出モジュールＦＤＭは読出しフェイルと判別する。例えば、メモリセルにデータが書き込まれた後、経過した時間が閾値時間以内であり、エラーの数が閾値個数（又は訂正可能な最大個数）以上である時、欠陥検出モジュールＦＤＭは読出しフェイルと判別する。
【００５２】
例えば、アクセス要請が消去要請である場合、不揮発性メモリチップで消去動作が遂行される。消去動作は複数の消去ループを含む。各消去ループは消去電圧を印加してメモリセルの閾値電圧を低くする消去及びメモリセルの閾値電圧が目標レベルに到達したか否かを判別する検証を含む。消去ループが第１の所定の最大回数遂行される時点までにメモリセルの消去が完了されない場合、又は消去ループが第２の所定の回数以上遂行された後にメモリセルの消去が完了される場合、欠陥検出モジュールＦＤＭは消去フェイルと判別する。他の例として、メモリセルでプログラム動作又は消去動作が完了された回数が第３の所定の回数以下であり、且つ消去ループが第４の所定の回数以上遂行された後にメモリセルの消去が完了された場合、欠陥検出モジュールＦＤＭは消去フェイルと判別する。
【００５３】
上述したように、アクセスフェイルは、書込み、読出し、又は消去が実際に失敗した場合のみならず、失敗する確率が高くなる場合にも検出される。フェイル検出モジュールＦＤＭがアクセスフェイルを決定する欠陥条件はフェイル検出モジュールＦＤＭに格納され、ホスト装置２０によって設定される。例示的に、検出されたフェイルの特徴は内部ロジックによって検査（テスト）される。検査された特徴に従って、フェイル検出モジュールＦＤＭはフェイル検出を再び遂行する。
例えば、フェイル検出モジュールＦＤＭはフェイルが検出された格納空間を含むさらに広い格納空間（例えば、物理アドレスによって識別される物理格納空間）を対象にフェイル検出を再び遂行する。例えば、欠陥検出モジュールＦＤＭはページ、メモリブロック等のように、不揮発性メモリ装置１１０の多様な動作が遂行される単位に従ってフェイル検出を再び遂行する。例えば、メモリセルでフェイルが検出された時に、フェイルメモリセルを含む１以上のページ又はメモリブロックを対象にフェイル検出が再び遂行される。
１つのページでフェイルが検出された時に、フェイルページを含む２以上のページ又はメモリブロックを対象にフェイル検出が再び遂行される。他の例として、欠陥検出モジュールＦＤＭは検査されたフェイルの特徴に従って、フェイルが検出された格納空間を含むさらに広い格納空間格納空間（例えば、物理アドレスによって識別される物理格納空間）がフェイルされたと判別する。例えば、フェイルの判別はページ、メモリブロック等のように、不揮発性メモリ装置１１０の多様な動作が遂行される単位に従って遂行される。
【００５４】
アクセスフェイルが発生すると、欠陥検出モジュールＦＤＭはローカル欠陥が発生したと判別する。以後に、Ｓ４４０段階が遂行される。アクセスフェイルが発生しなければ、欠陥が検出されない。
【００５５】
Ｓ４４０段階で、メモリ管理モジュールＭＭＭは予備領域が存在するか否かを判別する。充分な予備領域が存在すれば、即ち欠陥が発生した格納領域のサイズに該当するサイズの予備領域が存在すれば、Ｓ４５０段階が遂行される。Ｓ４５０段階で、メモリ管理モジュールＭＭＭは欠陥が発生した格納領域を予備領域に置換する。例えば、メモリ管理モジュールＭＭＭは欠陥格納領域の物理アドレス及び論理アドレスの間のマッピングを解除する。メモリ管理モジュールＭＭＭは欠陥領域の論理アドレスを予備領域の物理アドレスとマッピングする。ローカル欠陥が検出されるが、予備領域が十分であるので、グローバル欠陥が検出されない場合、欠陥検出モジュールＦＤＭは最終的に欠陥が発生しないと判別する。
【００５６】
予備領域が十分に存在しない場合、即ち欠陥格納領域のサイズが予備領域のサイズより大きい場合、Ｓ４６０段階が遂行される。Ｓ４６０段階で、欠陥検出モジュールＦＤＭはグローバル欠陥を検出し、最終的に欠陥が発生したと判別する。以後、Ｓ１２０段階で説明されたように、欠陥通知モジュールＦＩＭは欠陥情報をホスト装置２０に伝送する。
【００５７】
例示的に、欠陥検出モジュールＦＤＭは不揮発性メモリ装置１１０以外のストレージ装置１００の他の構成要素で発生する欠陥を検出する。例えば、欠陥検出モジュールＦＤＭはバッファメモリ１３０が応答しないか、或いはバッファメモリ１３０のアクセスがフェイルされる場合、グローバル欠陥が発生するか否かを判別する。また、ストレージ装置１００にスーパーキャパシタ又はタンタルキャパシタのような補助電源が存在する場合、欠陥検出モジュールＦＤＭは補助電源（図示せず）からフェイル信号を受信する。フェイル信号に従って、欠陥検出モジュールＦＤＭはグローバル欠陥が発生するか否かを判別する。グローバル欠陥が発生すれば、欠陥通知モジュールＦＩＭは欠陥情報をホスト装置２０に伝達する。
【００５８】
図６は欠陥検出モジュールＦＤＭが検出政策に従って欠陥検出を遂行する例を示す。図１及び図６を参照すれば、欠陥検出モジュールＦＤＭは検出政策モジュールＤＰＭに設定された直接検出（Ｄｉｒｅｃｔ  Ｄｅｔｅｃｔｉｏｎ）政策に従って欠陥検出を遂行する。
【００５９】
Ｓ５１０段階で、ホスト装置２０はコントローラ１２０にアクセス要請を伝達する。
【００６０】
Ｓ５２０段階で、ホスト装置２０のアクセス要請に従って、コントローラ１２０は不揮発性メモリ装置１１０にアクセス要請を伝達する。
【００６１】
Ｓ５３０段階で、コントローラ１２０は不揮発性メモリ装置１１０からアクセス結果を受信する。
【００６２】
Ｓ５４０段階で、アクセス結果に従って、欠陥検出モジュールＦＤＭは欠陥検出を遂行する。例えば、欠陥検出モジュールＦＤＭは不揮発性メモリ装置１１０が応答しないか、若しくは、読出し、書込み、又は消去フェイルの何れかが発生するかによって欠陥が検出されるか否かを判別する。
【００６３】
Ｓ５５０段階で、コントローラ１２０はアクセス結果又は欠陥情報をホスト装置２０に伝達する。例えば、ローカルフェイル又はグローバルフェイルが発生しないか、或いはローカルフェイルが発生し、グローバルフェイルが発生しない場合、コントローラ１２０はホスト装置２０にアクセス結果を伝達する。グローバルフェイルが発生する場合、コントローラ１２０はホスト装置２０に欠陥情報を伝達する。
【００６４】
即ち、欠陥検出モジュールＦＤＭはホスト装置２０の要請によって遂行されるアクセスの時間中に、欠陥検出を遂行する。
【００６５】
図７は欠陥検出モジュールＦＤＭが検出政策に従って欠陥検出を遂行する他の例を示す。図１及び図７を参照すれば、欠陥検出モジュールＦＤＭは検出政策モジュールＤＰＭに設定された背景検出（Ｂａｃｋｇｒｏｕｎｄ  Ｄｅｔｅｃｔｉｏｎ）政策に従って欠陥検出を遂行する。
【００６６】
Ｓ６１０段階で、コントローラ１２０は背景動作をトリガする。例えば、背景動作はホスト装置２０からの要請無しで、コントローラ１２０又はメモリ管理モジュールＭＭＭが不揮発性メモリ装置１１０を管理するために自立的に不揮発性メモリ装置１１０にアクセスする動作である。背景動作はホスト装置２０の要請によって遂行される動作の間の遊休時間に遂行される。背景動作は、既使用中の領域の有効なデータを自由格納領域に集積して、その結果無効となったデータ、又は無効であるデータで満たされた格納領域を確保し、確保された格納領域を消去して自由格納領域を生成するガーベッジコレクション（ｇａｒｂａｇｅ  ｃｏｌｌｅｃｔｉｏｎ）、データ信頼度が低くなったデータを自由格納領域に再び書き込んでデータ信頼度を高くするリフレッシュ（又は読出しリクレイム）、磨耗度が高い格納領域のデータと磨耗度が低い格納領域のデータとをスワップする磨耗度管理（ｗｅａｒ  ｌｅｖｅｌｉｎｇ）等を含む。
【００６７】
Ｓ６２０段階で、コントローラ１２０は背景動作の手続きに従って不揮発性メモリ装置１１０にアクセス要請を伝達する。
【００６８】
Ｓ６３０段階で、コントローラ１２０は不揮発性メモリ装置１１０からアクセス結果を受信する。
【００６９】
Ｓ６４０段階で、コントローラ１２０はアクセス結果に基づいて欠陥を検出する。
【００７０】
即ち、欠陥検出モジュールＦＤＭはホスト装置２０からの要請無しでコントローラ１２０によって自立的に遂行されるアクセス時間中に、欠陥検出を遂行する。
【００７１】
図８は欠陥検出モジュールＦＤＭが検出政策に従って欠陥検出を遂行するその他の例を示す。図１及び図８を参照すれば、欠陥検出モジュールＦＤＭは検出政策モジュールＤＰＭに設定されたスクラブ検出（Ｓｃｒｕｂ  Ｄｅｔｅｃｔｉｏｎ）政策に従って欠陥検出を遂行する。
【００７２】
Ｓ７１０段階で、ホスト装置２０はスクラブ動作をトリガする。例えば、スクラブ動作はホスト装置２０が不揮発性メモリ装置１１０に書き込まれたデータをスキャンし、無欠性を点検する動作である。
【００７３】
Ｓ７２０段階で、ホスト装置２０はスクラブ動作が開始されたことを通知するスクラブ情報をコントローラ１２０に伝達する。
【００７４】
Ｓ７３０段階で、ホスト装置はスクラブ動作の所定のシークェンスに従ってアクセス要請をコントローラ１２０に伝達する。
【００７５】
Ｓ７４０段階で、ホスト装置２０のアクセス要請に従って、コントローラ１２０は不揮発性メモリ装置１１０にアクセス要請を伝達する。
【００７６】
Ｓ７５０段階で、コントローラ１２０は不揮発性メモリ装置１１０からアクセス結果を受信する。
【００７７】
Ｓ７６０段階で、アクセス結果に従って、欠陥検出モジュールＦＤＭは欠陥検出を遂行する。例えば、欠陥検出モジュールＦＤＭは不揮発性メモリ装置１１０が応答しないか、或いは、読出し、書込み、又は消去フェイルの何れかが発生することによって欠陥が検出されるか否かを判別する。
【００７８】
Ｓ７７０段階で、コントローラ１２０はアクセス結果又は欠陥情報をホスト装置２０に伝達する。例えば、ローカルフェイル又はグローバルフェイルが発生しないか、或いはローカルフェイルが発生し、グローバルフェイルが発生しない場合、コントローラ１２０はホスト装置２０にアクセス結果を伝達する。グローバルフェイルが発生する場合、コントローラ１２０はホスト装置２０に欠陥情報を伝達する。
【００７９】
即ち、欠陥検出モジュールＦＤＭはホスト装置２０がスクラブ動作を遂行する時間中に、ホスト装置２０の要請によって遂行されるアクセス時間中に、欠陥検出を遂行する。
【００８０】
欠陥検出動作の他の例として、欠陥検出モジュールＦＤＭは検出政策モジュールＤＰＭに設定された明示的な検出（Ｅｘｐｌｉｃｉｔ  Ｄｅｔｅｃｔｉｏｎ）政策に従って欠陥検出を遂行する。例えば、ホスト装置２０はスクラブ動作を遂行する前に、ストレージ装置１００にスクラブ動作を遂行することを通知する。ホスト装置２０がスクラブ動作の一環として、ストレージ装置１００にアクセスする一方、ストレージ装置１００は欠陥検出の結果をホスト装置２０に伝達せずに収集する。スクラブ動作が完了されるか、所定の回数のアクセスが遂行されるか、所定の時間が経過したか、又は所定のチェックポイント（例えば、スクラブ動作のシークェンス上の所定のチェックポイント）に到達すれば、ストレージ装置１００は収集された欠陥検出の結果をホスト装置１００に通知する。
【００８１】
例えば、ホスト装置２０はストレージ装置１００の全体格納空間ではなく格納空間の一部に対して明示的な検出を遂行するようにストレージ装置１００に要請する。例えば、ホスト装置２０が、欠陥検出が要請されない格納空間に対してスクラブ動作を遂行する間に、ストレージ装置１００は欠陥検出を遂行しなくともよい。ホスト装置２０が、欠陥検出が要請された格納空間に対してスクラブ動作を遂行する間に、ストレージ装置１００は欠陥検出を遂行し、結果を収集する。
【００８２】
例えば、スクラブ動作はデータが格納された格納空間に対する読出し動作を含む。スクラブ動作はデータが格納されない格納空間にダミーデータを書き込む書込み動作を含む。スクラブ動作は無効データが格納された格納空間に対する消去動作を含む。
【００８３】
欠陥検出動作の他の例として、欠陥検出モジュールＦＤＭは検出政策モジュールＤＰＭに設定された要請検出（Ｒｅｑｕｅｓｔ  Ｄｅｔｅｃｔｉｏｎ）政策に従って欠陥検出を遂行する。例えば、ホスト装置２０がストレージ装置１００をアクセスするアクセス結果に従って、又は欠陥検出モジュールＦＤＭによって遂行される欠陥検出の結果に従って、欠陥検出モジュールＦＤＭは欠陥発生の可能性が閾値以上である格納空間を識別する。欠陥検出モジュールＦＤＭは識別された格納空間の情報をホスト装置２０に通知する。ホスト装置２０がストレージ装置１００に欠陥検出を遂行するように要請すれば、欠陥検出モジュールＦＤＭは欠陥検出を遂行する。
【００８４】
例示的に、検出政策モジュールＤＰＭは図６乃至図８を参照して説明された検出政策を全て含む。検出政策モジュールＤＰＭが支援する検出政策の中で活性化される政策がホスト装置２０によって選択される。例えば、図６の直接検出及び図７の背景検出が同時に活性化される。例示的に、検出政策モジュールＤＰＭの検出政策はホスト装置２０によって変更される。
例えば、ホスト装置２０は直接検出を基本政策として選択する。その場合、１回又は所定の頻度で欠陥が検出されれば、ホスト装置２０は検出政策を背景検出、スクラブ検出、及び明示的検出の中で少なくとも１つに変更するか、又は背景検出、スクラブ検出、及び明示的な検出の中で少なくとも１つをさらに活性化する。検出政策が変更された後に、所定の時間内に追加的な欠陥が検出されなければ、ホスト装置２０は検出政策を直接検出に初期化する。例示的に、検出政策の変更はホスト装置２０が主導するか、又は、ストレージ装置１００が要請しホスト装置２０が許容することによって遂行される。
【００８５】
図９は欠陥通知モジュールＦＩＭが伝達する欠陥情報（図２のＳ１２０段階）の例を示す。図１及び図９を参照すれば、欠陥情報は欠陥のタイプを含む。例えば、欠陥のタイプは無応答、書込みフェイル、読出しフェイル、消去フェイルのように、グローバルフェイルを引き起こしたローカルフェイルの種類を示す。
【００８６】
欠陥情報は欠陥のレベルをさらに含む。例えば、欠陥のレベルは欠陥の深刻な程度を含む。例示的に、欠陥検出モジュールＦＤＭは複数の条件に従って欠陥検出を遂行する。例えば、書込み又は消去フェイルを検出する時に、プログラムループ又は消去ループが所定の閾値以上の回数だけ遂行された後にプログラム動作又は消去動作が完了されれば、欠陥検出モジュールＦＤＭは欠陥のレベルを低く設定する。書込み又は消去フェイルを検出する時に、プログラムループ又は消去ループが所定の最大回数まで遂行されてもプログラム動作又は消去動作が完了されなければ、欠陥検出モジュールＦＤＭは欠陥のレベルを高く設定する。
【００８７】
例えば、読出しフェイルを検出する時に、メモリセルにデータが書き込まれた後、経過した時間が所定の範囲に属するか、エラーの数が所定の範囲に属するか、又は訂正不可能であるエラーが発生したかに従って、欠陥検出モジュールＦＤＭは欠陥のレベルを設定する。
【００８８】
例えば、欠陥検出モジュールはグローバル欠陥が発生したヒストリ（ｈｉｓｔｏｒｙ）に従って欠陥のレベルを設定する。例えば、不揮発性メモリ装置１１０の使用者領域は複数の区域に分割され、欠陥検出モジュールＦＤＭは各区域でグローバル欠陥が発生した回数に従って欠陥のレベルを判別する。
【００８９】
欠陥情報は欠陥が発生した格納領域のサイズをさらに含む。また、欠陥情報は欠陥が発生した格納領域のアドレス、例えば物理アドレス又は論理アドレスをさらに含む。
【００９０】
欠陥情報は欠陥が発生した格納領域の物理的な特徴をさらに含む。例えば、不揮発性メモリ装置１１０のメモリセルではなく、配線、例えばビットライン又はワードラインで欠陥が発生した場合、欠陥が発生したビットライン又はワードラインに関する情報が欠陥情報に含まれる。
【００９１】
欠陥情報は欠陥ヒストリをさらに含む。例えば、不揮発性メモリ装置１１０で欠陥が発生した論理アドレス又は物理アドレスのリストが欠陥情報に含まれる。
【００９２】
例えば、能力チェックモジュールＣＣＭが利用可能な復旧方法をホスト装置２０に伝達（図２のＳ１３０段階）する時に、能力チェックモジュールＣＣＭは欠陥情報に基づいてコントローラ１２０が支援する復旧方法の中で一部の復旧方法を選択する。能力チェックモジュールＣＣＭは選択された一部の復旧方法を推薦復旧方法としてホスト装置２０に伝達する。
【００９３】
図１０はホスト装置２０が１以上の復旧方法を獲得（図２のＳ１３０段階）し、１つの復旧方法を選択（Ｓ１４０段階）する例を示す。図１及び図１０を参照すれば、Ｓ８１０段階で、ホスト装置２０はストレージ装置１００に能力獲得要請（復旧能力に関する情報を獲得したいという要求）を伝送する。例えば、能力獲得要請は能力獲得モジュールＣＲＭによって生成及び提供される。
【００９４】
Ｓ８２０段階で、ストレージ装置１００は利用可能な復旧方法及び予測情報をホスト装置２０に伝達する。例えば、利用可能な復旧方法はコントローラ１２０が支援する復旧方法の全体又は一部を含む。例えば、各復旧方法は１（又は２）以上の復旧範囲の情報と共に伝達される。例えば、ここで復旧範囲は欠陥が発生した格納領域及び物理的に隣接する格納領域を含む広い格納領域の形態で提示される。利用可能な復旧方法は能力チェックモジュールＣＣＭによって提供される。
【００９５】
予測情報は各復旧方法の選択に伴い変動するストレージ装置１００の特徴を含む。例えば、予測情報は、各復旧方法及び各復旧方法と連関された各復旧範囲を選択した時に、復旧動作後のストレージ装置１００の性能（又は速度）変化、復旧動作後のストレージ装置１００の容量変化、復旧動作後のストレージ装置１００の寿命変化、及び復旧動作が所要される時間等を含む。これらに加えて、ストレージ装置１００によって初期に提供される仕様の中で変更された仕様に関する情報が予測情報に含まれる。予測情報は予測モジュールＰＭによって提供される。
【００９６】
Ｓ８３０段階で、ホスト装置２０はシステム状態をチェックする。例えば、ホスト装置２０はホスト装置２０と連関されたスペア（予備）ストレージ装置３０の数、ホスト装置２０が使用する資源及び使用しない資源の比率、外部クライアント装置によってホスト装置２０が呼出される頻度、欠陥が発生したストレージ装置１００に対するホスト装置２０のアクセス頻度等を判別する。システム状態はシステム状態チェックモジュールＳＳＣＭによってチェックされる。
【００９７】
Ｓ８４０段階で、ホスト装置２０は復旧方法を選択する。例えば、ホスト装置２０はＳ８２０段階で伝達された１以上の復旧方法の中で１つを選択する。例えば、ホスト装置２０は欠陥情報、予測情報、及びシステム状態に基づいて復旧方法を選択する。例えば、ホスト装置２０の呼出頻度又はストレージ装置１００に対するアクセス頻度が高い場合、ホスト装置２０は短い復旧時間を有する復旧方法を選択する。ホスト装置２０が属するシステムが高い速度を必要とする場合、ホスト装置２０は速度の低下が少ない復旧方法を選択する。ホスト装置２０が属するシステムの資源効率を高めようとする場合、ホスト装置２０は容量の減少が少ない復旧方法を選択する。例えば、ホスト装置２０は復旧動作後にストレージ装置１００の状態が変化する時に、コンピューティング装置１０全体の資源が最適化される復旧方法を選択する。復旧方法は復旧決定モジュールＲＤＭによって選択される。例えば、復旧決定モジュールＲＤＭが復旧方法を選択する基準は復旧決定モジュールＲＤＭに格納され、外部装置によって又はホスト装置２０の使用者によって更新又は設定される。
【００９８】
Ｓ８５０段階で、ホスト装置２０は選択された復旧方法をストレージ装置１００に伝達する。例示的に、ホスト装置２０は選択された復旧方法をストレージ装置１００に伝達する前に、伝達する時に、又は伝達した後に、ストレージ装置１００に格納されたデータのバックアップを遂行する。例えば、欠陥のレベルが低いので、欠陥が発生した格納空間のデータが読出し可能である場合、ホスト装置２０は欠陥が発生した格納空間のデータを読み出し、ストレージ装置１００の正常格納空間又は他の格納媒体に格納する。他の例として、欠陥のレベルが高いので、読出しが不可能である場合、ホスト装置２０はＲＡＩＤ（独立ディスクの冗長アレイ）のようなデータ復旧（手段を利用してデータを復旧し、復旧されたデータをバックアップする。
【００９９】
図１１はホスト装置２０とストレージ装置１００とにおいて復旧動作が遂行される例（フォーマットに係る復旧動作）を示す。図１及び図１１を参照すれば、Ｓ９１０段階で、コントローラ１２０はフォーマット復旧要請を受信する。例えば、復旧決定モジュールＲＤＭはフォーマット復旧方法を選択し、選択されたフォーマット復旧方法に従ってフォーマット復旧要請をコントローラ１２０に伝達する。復旧モジュールＲＭはフォーマット復旧要請に従ってフォーマット復旧を遂行する。
【０１００】
Ｓ９２０段階で、復旧モジュールＲＭはフォーマット復旧要請に含まれた復旧範囲に該当する格納領域の一部、即ち欠陥が発生した格納領域を含む格納領域の一部を非活性化（ｎｅｇａｔｅ）する。例えば、復旧モジュールＲＭの制御によって、メモリ管理モジュールＭＭＭは復旧範囲に該当する論理アドレスと物理アドレスとのマッピングを解除し、復旧範囲に該当する物理アドレスを使用不可としてマーキングする。
【０１０１】
Ｓ９３０段階で、復旧モジュールＲＭは非活性化された格納領域の一部を除外した残りの格納領域をフォーマットする。例えば、復旧モジュールＲＭの制御によって、メモリ管理モジュールＭＭＭは残りの格納領域に有効なデータが存在しないことを示すようにマッピング情報を更新する。
【０１０２】
Ｓ９４０段階で、復旧モジュールＲＭはフォーマットされた格納領域のサイズをホスト装置２０に報告する。復旧完了モジュールＲＣＭはストレージ装置１００の格納領域に有効なデータが格納されておらず、ストレージ装置１００の格納領域のサイズが報告されたサイズに変更されたことを識別し、ストレージ装置１００と連関されたファイルシステムを修正又は再生成する。
【０１０３】
例示的に、フォーマット復旧が遂行される前に、ホスト装置２０はストレージ装置１００の残りの格納領域に格納されたデータをバックアップする動作を遂行する。
【０１０４】
フォーマット復旧が遂行されれば、ストレージ装置１００の論理アドレスの範囲が減少し、減少された範囲内で論理アドレスは連続である。コントローラ１２０は減少された論理アドレスの範囲内に属する論理アドレスに対して、書込み、読出し、及び消去を制限無しで許容する。
【０１０５】
図１２はホスト装置２０とストレージ装置１００とにおいて復旧動作が遂行される他の例（固定欠陥に係る復旧動作）を示す。図１及び図１２を参照すれば、Ｓ１０１０段階で、コントローラ１２０は固定欠陥アドレス（ｆｉｘｅｄ  ｆａｕｌｔｙ  ａｄｄｒｅｓｓ）復旧要請を受信する。例えば、復旧決定モジュールＲＤＭは固定欠陥アドレス復旧方法を選択し、選択された固定欠陥アドレス復旧方法に従って固定欠陥アドレス復旧要請をコントローラ１２０に伝達する。復旧モジュールＲＭは固定欠陥アドレス復旧要請に従って固定欠陥アドレス復旧を遂行する。
【０１０６】
Ｓ１０２０段階で、復旧モジュールＲＭは固定欠陥アドレス復旧要請に含まれた復旧範囲に該当する格納領域の一部、即ち欠陥が発生した格納領域を含む格納領域の一部を非活性化（ｎｅｇａｔｅ）する。例えば、復旧モジュールＲＭの制御によって、メモリ管理モジュールＭＭＭは復旧範囲に該当する論理アドレスＬＢＡと物理アドレスＰＢＡとのマッピングを固定し、復旧範囲に該当する固定された論理アドレスＬＢＡのリストを生成する。
【０１０７】
Ｓ１０３０段階で、復旧モジュールＲＭは固定された論理アドレスＬＢＡのリストをホスト装置に報告するか、又は内部的に管理する。復旧完了モジュールＲＣＭは報告された論理アドレスＬＢＡを使用不可としてマーキングする。例示的に、固定された論理アドレスＬＢＡのリストはストレージ装置１００において、又は、ストレージ装置１００及びホスト装置２０の双方において管理される。
【０１０８】
Ｓ１０１０段階乃至Ｓ１０３０段階を通じて、固定欠陥アドレス復旧が完了される。以後は、ホスト装置２０はストレージ装置１００に正常にアクセスできる。
【０１０９】
Ｓ１０４０段階で、コントローラ１２０はホスト装置２０からアクセス要請を受信する。Ｓ１０５０段階で、コントローラ１２０は受信されたアクセス要請の論理アドレスが固定された論理アドレスであるか否かを判別する。受信されたアクセス要請の論理アドレスが固定された論理アドレスではなければ、Ｓ１０６０段階で、コントローラ１２０はアクセスを許容する。受信されたアクセス要請の論理アドレスが固定された論理アドレスに対応するならば、Ｓ１０７０段階で、コントローラ１２０はアクセスを拒否する。例えば、コントローラ１２０はエラーメッセージをホスト装置２０に伝達する。
【０１１０】
上述されたように固定欠陥アドレス復旧が遂行されれば、ストレージ装置１００の論理アドレスの範囲は減少せず、維持される。論理アドレスの範囲内で、ストレージ装置１００は欠陥が発生した一部の論理アドレスに対するアクセスを拒否し、残りの論理アドレスに対する書込み、読出し、及び消去を制限無しで許容する。
【０１１１】
図１３はホスト装置２０とストレージ装置１００とで復旧動作が遂行されるその他の例（動的欠陥アドレスに係る復旧動作）を示す。図１及び図１３を参照すれば、Ｓ１１１０段階で、コントローラ１２０は動的欠陥アドレス（ｄｙｎａｍｉｃ  ｆａｕｌｔｙ  ａｄｄｒｅｓｓ）復旧要請を受信する。例えば、復旧決定モジュールＲＤＭは動的欠陥アドレス復旧方法を選択し、選択された動的欠陥アドレス復旧方法に従って動的欠陥アドレス復旧要請をコントローラ１２０に伝達する。復旧モジュールＲＭは動的欠陥アドレス復旧要請に従って動的欠陥アドレス復旧を遂行する。
【０１１２】
Ｓ１１２０段階で、復旧モジュールＲＭは動的欠陥アドレス復旧要請に含まれた復旧範囲に該当する格納領域の一部、即ち欠陥が発生した格納領域を含む格納領域の一部を非活性化（ｎｅｇａｔｅ）する。例えば、復旧モジュールＲＭの制御によって、メモリ管理モジュールＭＭＭは復旧範囲に該当する論理アドレスと物理アドレスとのマッピングを解除し、復旧範囲に該当する物理アドレスを使用不可としてマーキングする。
【０１１３】
Ｓ１１３０段階で、復旧モジュールＲＭは非活性化された格納領域の一部を除外した残りの格納領域のサイズを計算してサイズ閾値を選択する。例えば、サイズ閾値は残りの格納領域のサイズである。例えば、サイズ閾値はストレージ装置１００の性能、寿命等のようなパラメータを考慮して、予備領域を反映するように設定される。例えば、残りの格納領域の中で一部が予備領域に割当される。残りの格納領域で、予備領域を除外した最終格納領域がサイズ閾値として設定される。
【０１１４】
Ｓ１１４０段階で、復旧モジュールＲＭは計算されたサイズ閾値をホスト装置２０に報告する。復旧完了モジュールＲＣＭは受信されたサイズ閾値をストレージ装置１００に格納できるデータの最大値として識別する。
【０１１５】
Ｓ１１１０段階乃至Ｓ１１４０段階を通じて、固定欠陥アドレス復旧が完了される。以後は、ホスト装置２０はストレージ装置１００に正常にアクセスできる。
【０１１６】
Ｓ１１５０段階で、コントローラ１２０はホスト装置２０からアクセス要請を受信する。Ｓ１１６０段階で、コントローラ１２０は受信されるアクセス要請が自由論理アドレスＬＢＡに対する書込みであるか否かを判別する。アクセス要請が自由論理アドレスＬＢＡに対する書込みではなければ、Ｓ１１７０段階で、コントローラはアクセスを許容する。例えば、ストレージ装置１００に格納されたデータのサイズに影響を及ばない読出し及び更新、及びストレージ装置１００に格納されたデータのサイズを減少させる消去がストレージ装置１００で制限無しで許容される。アクセス要請が自由論理アドレスＬＢＡに対する書込みであれば、Ｓ１１８０段階が遂行される。
【０１１７】
Ｓ１１８０段階で、コントローラ１２０はストレージ装置１００に予め格納されたデータ及び書込み要請されたデータの全体サイズがサイズ閾値より大きいか否かを判別する。全体サイズがサイズ閾値より大きくなければ、Ｓ１１７０段階で、コントローラ１２０は書込みを許容する。全体サイズがサイズ閾値より大きければ、Ｓ１１９０段階で、コントローラ１２０は書込みを拒否する。例えば、コントローラ１２０はエラーメッセージをホスト装置２０に伝達する。
【０１１８】
上述されたように、動的欠陥アドレス復旧が遂行されれば、ストレージ装置１００の論理アドレスの範囲は減少せず、維持される。ストレージ装置１００に書き込まれたデータの全体容量がサイズ閾値以下に維持される限り、ストレージ装置１００は論理アドレスの範囲内の論理アドレスに対する書込み、読出し、及び消去を制限無しで許容する。
【０１１９】
図１４はホスト装置２０とストレージ装置１００とで復旧動作が遂行されるその他の例（リマッピングに係る復旧動作）を示す。図１及び図１４を参照すれば、Ｓ１２１０段階で、コントローラ１２０はリマッピング（ｒｅｍａｐ）復旧要請を受信する。例えば、復旧決定モジュールＲＤＭはリマッピング復旧方法を選択し、選択されたリマッピング復旧方法に従ってリマッピング復旧要請をコントローラ１２０に伝達する。復旧モジュールＲＭはリマッピング復旧要請に従ってリマッピング復旧を遂行する。
【０１２０】
Ｓ１２２０段階で、復旧モジュールＲＭはリマッピング要請に含まれた復旧範囲に該当する格納領域の一部、即ち欠陥が発生した格納領域を含む格納領域の一部を非活性化（ｎｅｇａｔｅ）する。例えば、復旧モジュールＲＭの制御によって、メモリ管理モジュールＭＭＭは復旧範囲に該当する論理アドレスと物理アドレスとのマッピングを解除し、復旧範囲に該当する物理アドレスを使用不可としてマーキングする。
【０１２１】
Ｓ１２３０段階で、復旧モジュールＲＭの制御によって、メモリ管理モジュールＭＭＭは論理アドレスＬＢＡの範囲を減少させる。例えば、メモリ管理モジュールＭＭＭは論理アドレスＬＢＡの最大値を非活性化した格納領域の一部のサイズだけ減少させる。
【０１２２】
Ｓ１２４０段階で、復旧モジュールＲＭの制御によって、メモリ管理モジュールＭＭＭは有効なデータに対応する解除された論理アドレスＬＢＡを減少された論理アドレスＬＢＡの範囲内の論理アドレスＬＢＡにリマッピングする。例えば、論理アドレスＬＢＡの範囲が減少されているので、一部の論理アドレスＬＢＡが使用されないように解除される。解除された論理アドレスＬＢＡの中で一部の論理アドレスＬＢＡに有効なデータが格納されている。メモリ管理モジュールＭＭＭは対応する論理アドレスを減少された論理アドレスＬＢＡの範囲内の自由論理アドレスにリマッピングする。例えば、メモリ管理モジュールＭＭＭは物理アドレスＰＢＡと論理アドレスＬＢＡとの間のマッピング情報で論理アドレスＬＢＡを更新する。
【０１２３】
Ｓ１２５０段階で、復旧モジュールＲＭは解除された論理アドレスＬＢＡのサイズ、又は減少された論理アドレスＬＢＡの範囲をホスト装置２０に報告する。また、復旧モジュールＲＭはリマッピングの結果をホスト装置２０に報告する。
【０１２４】
復旧完了モジュールＲＣＭはストレージ装置１００のファイルシステムにおいて、論理アドレスＬＢＡの範囲を修正し、リマッピングされたデータの論理アドレスを修正する。
【０１２５】
例示的に、リマッピングを遂行する自由論理アドレスＬＢＡが不足である場合、復旧モジュールＲＣＭはホスト装置２０に容量が不足であることを報告する。ホスト装置２０はストレージ装置１００に格納されたデータの一部又は全てを他のストレージ装置３０に移動し、復旧を持続することをストレージ装置１００に要請する。
【０１２６】
上述されたように、リマッピング復旧が遂行されれば、ストレージ装置１００の論理アドレスの範囲が減少する。フォーマットに係る復旧と異なり、ストレージ装置１００に格納されたデータは維持される。
【０１２７】
例示的に、減少された論理アドレスＬＢＡのリマッピングはホスト装置２０によって遂行される。欠陥が検出された時に、ストレージ装置１００は欠陥が検出されたことをホスト装置２０に通知し、ホスト装置２０の要請（例えば、復旧要請）によって容量が減少し、減少したことをホスト装置２０に通知する。ホスト装置２０はストレージ装置１００に減少された論理アドレスＬＢＡの範囲に関する情報を要請する。ホスト装置２０の要請に従って、ストレージ装置１００は欠陥論理アドレスＬＢＡの範囲又はリストをホスト装置２０に伝達する。ホスト装置２０は伝達された論理アドレスＬＢＡの範囲又はリストに含まれた論理アドレスＬＢＡをマッピング解除（ｕｎｍａｐ）することをストレージ装置１００に要請する。ホスト装置２０はＲＡＩＤのような別のデータ復旧方法を利用して、マッピング解除された論理アドレスＬＢＡに格納されたデータを復旧する。
復旧されたデータは容量が減少されたストレージ装置１００の更新された論理アドレスの範囲内の格納空間又は他の格納媒体に書き込む。更新された論理アドレスの範囲の外に既にデータが書き込まれた場合、ホスト装置２０は該当データの論理アドレスを更新された論理アドレスの範囲内にリマッピングするようにストレージ装置１００に要請する。以後に、更新された論理アドレスの範囲の外の論理アドレスに対してマッピング解除が要請される。
【０１２８】
図１５はホスト装置２０又はストレージ装置１００が復旧動作を完了（図２のＳ１６０段階）する例（欠陥ヒストリに係る復旧動作完了）を示す。図１及び図１５を参照すれば、Ｓ１３１０段階で、コントローラ１２０は現在の欠陥を欠陥ヒストリに登録する。コントローラ１２０は更新された欠陥ヒストリをホスト装置２０に報告する。
【０１２９】
Ｓ１３２０段階で、欠陥ヒストリに基づいて、欠陥条件を調節するか否かが判別される。例えば、コントローラ１２０は自立的に欠陥条件を調節するか、又はホスト装置２０の要請に従って欠陥条件を調節する。例えば、欠陥が発生した回数に従って欠陥条件が調節される。例えば、不揮発性メモリ装置１１０の物理格納空間が区域に分割され、各区域で欠陥が発生した回数に従って各区域の欠陥条件が調節される。例えば、欠陥が発生する回数が増加するほど、欠陥条件は強化される。例えば、書込みフェイルが判別されるプログラムループの閾値回数が減少されるか、消去フェイルが判別される消去ループの閾値回数が減少されるか、又は読出しフェイルが判別される閾値時間又はエラーの閾値個数が減少される。
【０１３０】
Ｓ１３３０段階で、欠陥ヒストリに基づいて、検出政策を調節するかが判別される。例えば、コントローラ１２０は自立的に欠陥条件を調節するか、又はホスト装置２０の要請に従って欠陥条件を調節する。例えば、欠陥が発生した回数に従って検出政策が調節される。例えば、不揮発性メモリ装置１１０の物理格納空間が区域に分割され、各区域で欠陥が発生した回数に従って各区域の検出政策が調節される。例えば、欠陥が発生した回数が増加するほど、活性化される検出政策の数が増加する。
【０１３１】
図１６は図１のコンピューティング装置１０の動作方法の他の例を示す順序図である。図１及び図１６を参照すれば、Ｓ１４１０段階で、ストレージ装置１００、例えばコントローラ１２０は欠陥を復旧に利用可能な復旧方法（ｒｅｃｏｖｅｒｙ＿ｓｃｈｅｍｅｓ）をホスト装置２０に伝送する。例えば、能力チェックモジュールＣＣＭは１以上の復旧方法をホスト装置２０に伝達する。例えば、利用可能な復旧方法の伝達はコンピューティング装置１０のパワーオン時に又はホスト装置２０が要請する時に伝達される。
【０１３２】
Ｓ１４２０段階で、ストレージ装置１００、例えばコントローラ１２０はストレージ装置１００内の欠陥、例えばグローバル欠陥を検出する。
【０１３３】
Ｓ１４３０段階で、ストレージ装置１００、例えばコントローラ１２０は欠陥情報をホスト装置２０に通知する。例えば、ストレージ装置１００は欠陥情報と共に、各復旧方法及び復旧範囲に従ってストレージ装置１００の動作速度の変化、容量の変化、又は復旧時間をホスト装置２０に伝達する。
【０１３４】
Ｓ１４４０段階で、ホスト装置２０はストレージ装置１００から伝達された復旧方法の中で１つを選択する。例えば、ホスト装置２０はデータの復旧量、データの復旧時間等のような復旧動作と連関されたパラメータ、又は復旧動作後にストレージ装置１００の性能及び容量変化等のようなストレージ装置１００と連関されたパラメータを参照して復旧方法を選択する。復旧決定モジュールＲＤＭは選択された復旧方法をストレージ装置１００、例えばコントローラ１２０に伝達する。
【０１３５】
Ｓ１４５０段階で、ストレージ装置１００、例えばコントローラ１２０は選択された復旧方法に従って復旧動作を遂行する。例えば、ホスト装置２０は復旧されたデータをストレージ装置１００又は他の格納媒体に書き込む。
【０１３６】
Ｓ１４６０段階で、ストレージ装置１００及びホスト装置２０は復旧動作を完了する。
【０１３７】
図２の動作方法で、ストレージ装置１００は欠陥が検出される時、利用可能な復旧方法をホスト装置２０に伝達する。反面、図１６の動作方法で、ストレージ装置１００は利用可能な復旧方法を欠陥が検出される前にホスト装置２０に伝達する場合もある。
【０１３８】
図１７は図１のコンピューティング装置１０の動作方法のその他の例を示す順序図である。図１及び図１７を参照すれば、Ｓ１５１０段階で、ストレージ装置１００、例えばコントローラ１２０は欠陥の復旧に利用可能な復旧方法（ｒｅｃｏｖｅｒｙ  ｓｃｈｅｍｅｓ）をホスト装置２０に伝送する。例えば、能力チェックモジュールＣＣＭは１以上の復旧方法をホスト装置２０に伝達する。例えば、利用可能な復旧方法の伝達はコンピューティング装置１０のパワーオン時に又はホスト装置２０が要請する時に伝達される。
【０１３９】
Ｓ１５２０段階で、ストレージ装置１００、例えばコントローラ１２０はストレージ装置１００内の欠陥、例えばグローバル欠陥を検出する。
【０１４０】
Ｓ１５３０段階で、ストレージ装置１００、例えばコントローラ１２０は欠陥情報をホスト装置２０に通知する。
【０１４１】
Ｓ１５４０段階で、ストレージ装置１００、例えばコントローラ１２０は推薦される復旧方法をホスト装置２０に伝達する。推薦される復旧方法の数はＳ１５１０段階で伝達された復旧方法の数より少ない。例えば、ストレージ装置１００は推薦される復旧方法と共に、各復旧方法及び復旧範囲に従ってストレージ装置１００の動作速度の変化、容量の変化、又は復旧時間をホスト装置２０に伝達する。
【０１４２】
Ｓ１５４０段階で、ホスト装置２０はストレージ装置１００から伝達された復旧方法の中から１つを選択する。例えば、ホスト装置２０はデータの復旧量、データの復旧時間、等のような復旧動作と連関されたパラメータ、又は復旧動作後にストレージ装置１００の性能及び容量変化等のようなストレージ装置１００と連関されたパラメータを参照して復旧方法を選択する。復旧決定モジュールＲＤＭは選択された復旧方法をストレージ装置１００、例えばコントローラ１２０に伝達する。例えば、選択された復旧方法はＳ１５４０段階で推薦された復旧方法の中で１つである。例えば、選択された復旧方法はＳ１５４０段階で推薦された復旧方法に属さず、Ｓ１５１０段階で伝達された復旧方法の中で１つである。例えば、ホスト装置２０はシステム状態及び欠陥情報を考慮して、ストレージ装置１００から推薦されない復旧方法を選択する。
【０１４３】
Ｓ１５６０段階で、ストレージ装置１００、例えばコントローラ１２０は選択された復旧方法に従って復旧動作を遂行する。例えば、ホスト装置２０は復旧されたデータをストレージ装置１００又は他の格納媒体に書き込む。
【０１４４】
Ｓ１５７０段階で、ストレージ装置１００及びホスト装置２０は復旧動作を完了する。
【０１４５】
例示的に、ストレージ装置１００において非活性化された格納領域の一部を除外してサイズ閾値が決定される時、復旧動作は様々な基準によって遂行される。例えば、残りの格納領域の最大値を計算してサイズ閾値が選択され、又は、予備領域を割当することによって、サイズ閾値が選択される。例えば、予備領域が全て消尽された状況でサイズ閾値が最大に選択されれば、再びローカル欠陥が発生した時に、直ちにグローバル欠陥が発生する。予備領域を割当し、サイズ閾値が計算されれば、復旧動作後に発生するローカル欠陥が予備領域によって補償され、従ってグローバル欠陥が発生する時点が遅延される。
予備領域用に転換される領域は残りの格納領域の中で寿命、性能、又は、有効なデータが格納された比率、が最も小さい領域が選択される。又は以前に使用者データ領域に転換された予備領域が再び予備領域に割当される。有効データが格納された使用者データ領域が予備領域に転換される場合、当該有効データは自由使用者データ領域に移動される。残りの格納領域の中で予備領域に割当される格納領域を選択する基準は多様に変更及び応用されることができ、先に言及されたことに限定されない。
【０１４６】
例えば、サイズ閾値はストレージ装置１００ではなく、ホスト装置２０によって決定される。例えばストレージ装置１００は欠陥が発生してサイズ閾値が変更されなければならないことを、ストレージ装置１００自身が計算したサイズ閾値に関する情報と共にホスト装置２０に通知する。ホスト装置２０はストレージ装置１００から伝達されたサイズ閾値をそのまま認容するか、或いは、より小さい（又は、より大きい）サイズにサイズ閾値を変更するようにストレージ装置１００に要請する。
【０１４７】
例えば、サイズ閾値が決定された後に、サイズ閾値が増加される。例えば、欠陥を判別する過程で誤動作が発生する。例えば、欠陥が発生したと判別されてストレージ装置１００のサイズ閾値の減少を引き起こした格納領域がその後に正常動作すると判別される。この時、サイズ閾値が増加される。また、不揮発性メモリチップＮＶＣとコントローラ１２０との間に連結されたインタフェイスにおいて瞬間的な過負荷やエラーが発生し、それによって不揮発性メモリチップＮＶＣが無応答と判断され、サイズ閾値が減少する。
後ほどインタフェイスの過負荷やエラーが解消され、不揮発性メモリチップＮＶＣがコントローラ１２０の制御に正常的に応答する。この時、サイズ閾値が増加される。上述されたように、検出された欠陥が一時的に発生したことであるか否かをモニターするために、欠陥有りと判断された格納領域に対しても欠陥検出が遂行される。例えば、所定の検出回数又は所定の時間が経過した後にも欠陥として判別される格納領域は永久欠陥として指定される。永久欠陥として指定された格納領域に対する欠陥検出は禁止される。
【０１４８】
例示的に、ストレージ装置１００において欠陥が検出された場合、欠陥格納領域のデータは様々な状態を有する。例えば、欠陥格納領域のデータはデータ復旧が不可能である、即ち、消失データである場合と、読出しが可能なデータである場合がある。ストレージ装置１００は消失データの論理アドレスをホスト装置２０に通知し、ホスト装置２０はＲＡＩＤのようなコンピューティング装置１０で使用される復旧方法を利用して消失データを復旧する。
ストレージ装置１００は読出しが可能なデータを欠陥が発生しない自由使用者データ領域に移動し、欠陥が検出された格納領域及びデータ読出しが可能であることをホスト装置２０に通知する。ホスト装置２０は欠陥が検出された格納領域が読出し可能であることを識別すると、コンピューティング装置１０のデータ冗長度を変更せずに維持し、データ復旧量及び復旧時間を減少する。コンピューティング装置１０の冗長度の同一性を確保するために、欠陥格納領域に格納された読出し可能なデータが格納されている格納領域を除外して、サイズ閾値が決定される。コンピューティング装置１０においてデータの復旧が完了された後に、該復旧データに対応する格納領域は予備領域として使用される。
【０１４９】
例示的に、ホスト装置２０がストレージ装置１００から欠陥と、欠陥領域に対する情報との通知を受けた場合、図１２、図１３、及び図１４を参照して説明されたように、ホスト装置２０は欠陥論理アドレスの範囲又はリストに関する情報をストレージ装置１００から獲得する。これとは別にホスト装置２０は速いデータ復旧のために、欠陥格納領域に格納された読出し可能な全てのデータをストレージ装置１００に要請する。この場合、ホスト装置２０は先に通知された欠陥論理アドレスの範囲又はリストを利用して、欠陥論理アドレスの格納領域に連関する読出しを要請する。例えば、欠陥格納領域が読出し可能な領域と不可能である領域とを含む場合、ホスト装置２０は読出し可能な欠陥格納領域の論理アドレスをストレージ装置１００から獲得し、これを利用して読出しを要請する。欠陥格納領域の論理アドレスがストレージ装置１００の全体論理アドレスにわたってランダムに分布する場合、欠陥格納領域に対するランダム読出しが遂行される。
【０１５０】
例えば、ホスト装置２０は欠陥格納領域に分布された論理アドレスの最小値と最大値とを把握し、該当領域に属するデータに対して順次読出しを遂行する。ストレージ装置１００は欠陥格納領域のデータを含む順次読み出されたデータをホスト装置２０に伝送する。その際、ストレージ装置１００は欠陥格納領域のメタ情報を共にホスト装置２０に伝達する。ストレージ装置１００は欠陥格納領域の読出し不可能なデータ（即ち、消失データ）を、ホスト装置２０との間で予め約束した値に置換して送ることによって、ホスト装置２０がデータフェイルの可否を判断できるように支援する。
【０１５１】
例えば、ストレージ装置１００は欠陥格納領域に対して論理アドレスの代わりに物理アドレスを基準に読出しを遂行する。ストレージ装置１００は物理アドレスを利用して順次読出しを遂行し、データが消失した格納領域及び読出し可能な欠陥格納領域の論理アドレスをホスト装置２０にデータと共に伝送する。ホスト装置２０はストレージ装置１００から受信されるデータから欠陥格納領域を判断する。ホスト装置２０は読出し可能な欠陥格納領域から読み出されたデータを正常格納領域又は他の格納媒体に格納する。
【０１５２】
例示的に、検出された欠陥がバッファメモリ１３０に対するアクセス不能状態、又はタンタルキャパシタのフェイルのようなグローバル欠陥であれば、ストレージ装置１００はこれをホスト装置２０に通知し、欠陥検出に伴うストレージ装置１００の動作を再定義してホスト装置２０に通知する。例えば、ストレージ装置１００がバッファメモリ１３０を活用してバッファメモリ１３０に最初に書込みを遂行し、後に不揮発性メモリチップＮＶＣに書込みを遂行する政策を使った場合、ストレージ装置１００は、バッファメモリ１３０に対するアクセス不可能によってバッファメモリ１３０に対する書込みが不可であることをホスト装置２０に通知する。
以後に、ストレージ装置１００はバッファメモリ１３０に対してアクセスせずに、直ちに不揮発性メモリチップＮＶＣに対する書込みを遂行する政策を使用する。この場合、ストレージ装置１００は書込み性能低下情報をホスト装置２０に通知する。他の例として、タンタルキャパシタのフェイルによってグローバル欠陥が検出された場合、ストレージ装置１００は欠陥情報をホスト装置２０に通知する。ホスト装置２０はデータを不揮発性メモリチップＮＶＣに直ちに書き込むようにストレージ装置１００を制御するか、又は電源が遮断された時に消失が許容されるデータを書き込む場合にバッファメモリ１３０にデータを書き込むようにストレージ装置１００を制御する。
【０１５３】
再び図１を参照すれば、不揮発性メモリ装置１１０はコントローラ１２０の制御によって書込み、読出し、及び消去を遂行する。コントローラ１２０と不揮発性メモリ装置１１０との間のチャンネルは制御チャンネル及び入出力チャンネルを含む。不揮発性メモリ装置１１０は入出力チャンネルを通じてコントローラ１２０からコマンド及びアドレスを受信する。不揮発性メモリ装置１１０は入出力チャンネルを通じてコントローラ１２０とデータを交換する。
【０１５４】
不揮発性メモリ装置１１０は制御チャンネルを通じてコントローラ１２０と制御信号を交換する。例えば、不揮発性メモリ装置１１０は不揮発性メモリ装置１１０の複数の不揮発性メモリチップの中で少なくとも１つの不揮発性メモリチップを選択するチップイネーブル信号（／ＣＥ）、コントローラ１２０から入出力チャンネルを通じて受信される信号がコマンドであることを示すコマンドラッチイネーブル信号（ＣＬＥ）、コントローラ１２０から入出力チャンネルを通じて受信される信号がアドレスであることを示すアドレスラッチイネーブル信号（ＡＬＥ）、読出し時にコントローラ１２０によって生成され、周期的にトグルされてタイミングを合わせるのに使用される読出しイネーブル信号（／ＲＥ）、コマンド又はアドレスが伝送される時にコントローラ１２０によって活性化される書込みイネーブル信号（／ＷＥ）、電源が変化する時に意図しない書込み又は消去を防止するためにコントローラ１２０によって活性化される書込み防止信号（／ＷＰ）、書込みの時にコントローラ１２０によって生成され、周期的にトグルされて入出力チャンネルを通じて伝達されるデータのシンク（同期）を合わせるのに使用されるデータストロボ信号（ＤＱＳ）をコントローラ１２０から受信する。例えば、不揮発性メモリ装置１１０は不揮発性メモリ装置１１０がプログラム、消去又は読出し動作を遂行中であるか否かを示す「レディ・ビジー」信号（Ｒ／ｎＢ）、不揮発性メモリ装置１１０によって読出しイネーブル信号（／ＲＥ）から生成され、周期的にトグルされてデータの出力シンクを合わせるのに使用されるデータストロボ信号（ＤＱＳ）をコントローラ１２０に出力する。
【０１５５】
不揮発性メモリ装置１１０はフラッシュメモリを含む。しかし、不揮発性メモリ装置１１０はフラッシュメモリを含む場合に限定されない。不揮発性メモリ装置１１０はＰＲＡＭ（Ｐｈａｓｅ−ｃｈａｎｇｅ  ＲＡＭ）、ＭＲＡＭ（Ｍａｇｎｅｔｉｃ  ＲＡＭ）、ＲＲＡＭ（登録商標）（Ｒｅｓｉｓｔｉｖｅ  ＲＡＭ）、ＦｅＲＡＭ（Ｆｅｒｒｏｅｌｅｃｔｒｉｃ  ＲＡＭ）等の、多様な不揮発性メモリ装置の中で少なくとも１つを含む。
【０１５６】
コントローラ１２０は不揮発性メモリ装置１１０を制御するように構成される。例えば、コントローラ１２０は不揮発性メモリ装置１１０が書込み、読出し、又は消去を遂行するように入出力チャンネル及び制御チャンネルを通じて不揮発性メモリ装置１１０を制御する。
【０１５７】
コントローラ１２０は外部のホスト装置（図示せず）の制御によって不揮発性メモリ装置１１０を制御する。例えば、コントローラ１２０は不揮発性メモリ装置１１０と通信するフォーマットと異なるフォーマットに従って外部のホスト装置と通信する。コントローラ１２０が不揮発性メモリ装置１１０と通信するデータの単位は外部のホスト装置と通信するデータの単位と異なる。
【０１５８】
コントローラ１２０はバッファメモリ１３０をバッファメモリ、キャッシュメモリ、又はワーキングメモリ（スクラッチパッドメモリ）として使用する。コントローラ１２０は不揮発性メモリ装置１１０を管理するために必要であるデータ又はコードをバッファメモリ１３０に格納する。例えば、コントローラ１２０は不揮発性メモリ装置１１０を管理するために必要であるデータ又はコードを不揮発性メモリ装置１１０から読み出し、バッファメモリ１３０にローディングして駆動する。
【０１５９】
コントローラ１２０は外部のホスト装置から受信される論理アドレスを不揮発性メモリ装置１１０の物理アドレスに変換する。例えば、外部のホスト装置は物理アドレスを含む読出し要請、又は書込み要請、又は消去要請をコントローラ１２０に伝達する。コントローラ１２０は外部のホスト装置から受信された物理アドレスを論理アドレスに変換する。コントローラ１２０は物理アドレスと共に読出しコマンド、書込みコマンド、又は消去コマンドを不揮発性メモリ装置１１０に伝達する。コントローラ１２０がアドレス変換を遂行するのに使用する変換テーブルは不揮発性メモリ装置１１０に保管され、不揮発性メモリ装置１１０からロードされてバッファメモリ１３０又はコントローラ１２０内部のメモリで管理される。
【０１６０】
バッファメモリ１３０はＤＲＡＭ（Ｄｙｎａｍｉｃ  ＲＡＭ）、ＳＲＡＭ（Ｓｔａｔｉｃ  ＲＡＭ）、ＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  ＤＲＡＭ）、ＰＲＡＭ（Ｐｈａｓｅ−ｃｈａｎｇｅ  ＲＡＭ）、ＭＲＡＭ（Ｍａｇｎｅｔｉｃ  ＲＡＭ）、ＲＲＡＭ（登録商標）（Ｒｅｓｉｓｔｉｖｅ  ＲＡＭ）、ＦｅＲＡＭ（Ｆｅｒｒｏｅｌｅｃｔｒｉｃ  ＲＡＭ）等の、多様なランダムアクセスメモリ装置の中で少なくとも１つを含む。
【０１６１】
不揮発性メモリ装置１１０は複数の不揮発性メモリチップを含む。例示的に、コントローラ１２０及び不揮発性メモリチップはチャンネル及びウェイ（ｗａｙ）に基づいて互いに連結される。１つのチャンネルは１つのデータチャンネル及び１つの制御チャンネルを含む。１つのデータチャンネルは８個のデータラインを含む。１つの制御チャンネルは上述されたチップイネーブル信号（／ＣＥ）、コマンドラッチイネーブル信号（ＣＬＥ）、アドレスラッチイネーブル信号（ＡＬＥ）、読出しイネーブル信号（／ＲＥ）、書込みイネーブル信号（／ＷＥ）、書込み防止信号（／ＷＰ）、及び「レディ・ビジー」信号（Ｒ／ｎＢ）を伝送する制御ラインを含む。
【０１６２】
１つのチャンネルに連結された不揮発性メモリチップＮＶＣはウェイを形成する。１つのチャンネルにｎ個の不揮発性メモリチップＮＶＣが連結されれば、ｎウェイ（ｎ−ｗａｙ）を形成する。１つのウェイに属する不揮発性メモリチップＮＶＣはデータライン、及びコマンドラッチイネーブル信号（ＣＬＥ）、アドレスラッチイネーブル信号（ＡＬＥ）、読出しイネーブル信号（／ＲＥ）、書込みイネーブル信号（／ＷＥ）、及び書込み防止信号（／ＷＰ）を伝送する制御ラインを共有する。１つのウェイに属する不揮発性メモリチップＮＶＣの各々はチップイネーブル信号（／ＣＥ）、及び「レディ・ビジー」信号（Ｒ／ｎＢ）を伝送する専用の制御ラインを通じてコントローラ１２０と通信する。
【０１６３】
コントローラ１２０は１つのチャンネルに連結されたｎウェイの不揮発性メモリチップＮＶＣを交互にアクセスする。コントローラ１２０は互いに異なるチャンネルに連結された不揮発性メモリチップＮＶＣを独立的にアクセスする。コントローラ１２０は互いに異なるチャンネルに連結された不揮発性メモリチップＮＶＣを交互に又は同時にアクセスする。
【０１６４】
例示的に、不揮発性メモリチップはワイドＩＯ（Ｗｉｄｅ  ＩＯ）形態にコントローラ１２０と連結される。例えば、互いに異なるチャンネルに連結された不揮発性メモリチップＮＶＣが１つのチップイネーブル信号（／ＣＥ）が伝送される制御ラインを共有する。１つのチップイネーブル信号（／ＣＥ）の制御ラインを共有する不揮発性メモリチップＮＶＣは同時にアクセスされる。互いに異なるチャンネルのデータラインが同時に使用されるので、広い入出力大域幅が達成される。
【０１６５】
ストレージ装置１００はソリッドステートドライブ（ＳＳＤ、Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）又はハードディスクドライブ（ＨＤＤ、Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）を含む。ストレージ装置１００はＰＣカード（ＰＣＭＣＩＡ、ｐｅｒｓｏｎａｌ  ｃｏｍｐｕｔｅｒ  ｍｅｍｏｒｙ  ｃａｒｄ  ｉｎｔｅｒｎａｔｉｏｎａｌ  ａｓｓｏｃｉａｔｉｏｎ）、コンパクトフラッシュ（登録商標）カード（ＣＦ）、スマートメディアカード（ＳＭ、ＳＭＣ）、メモリスティック、マルチメディアカード（ＭＭＣ、ＲＳ−ＭＭＣ、ＭＭＣｍｉｃｒｏ）、ＳＤカード（ＳＤ、ｍｉｎｉＳＤ、ｍｉｃｒｏＳＤ、ＳＤＨＣ）、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）メモリカード、ユニバーサルフラッシュストレージ（ＵＦＳ）等のメモリカードを含む。ストレージ装置１００はｅＭＭＣ（ｅｍｂｅｄｄｅｄ  ＭｕｌｔｉＭｅｄｉａ  Ｃａｒｄ）、ＵＦＳ、ＰＰＮ（Ｐｅｒｆｅｃｔ  Ｐａｇｅ  ＮＡＮＤ）等のような実装型メモリを含む。
【０１６６】
図１で、ストレージ装置１００はコントローラ１２０の外部に配置されるバッファメモリ１３０を含むように図示されている。しかし、ストレージ装置１００はコントローラ１２０の外部に配置されるバッファメモリ１３０を具備しない場合もある。コントローラ１２０は内部のＲＡＭ（図１８参照）をバッファメモリ、ワーキングメモリ、又はキャッシュメモリとして使用するように構成される。
例示的に、コンピューティング装置１０はサーバ、例えばデータサーバ、キャッシュサーバ又は応用サーバである。
【０１６７】
図１８は本発明の実施形態に係るコントローラ１２０を示すブロック図である。図１及び図１８を参照すれば、コントローラ１２０はバス１２１、プロセッサ１２２、ＲＡＭ１２３、エラー訂正ブロック１２４、ホストインタフェイス１２５、バッファ制御回路１２６、及びメモリインタフェイス１２７を含む。
【０１６８】
バス１２１はコントローラ１２０の構成要素の間にチャンネルを提供するように構成される。
換言すると、コントローラ１２０の各構成要素は、チャネルを介して通信できる。
【０１６９】
プロセッサ１２２はコントローラ１２０の諸般動作を制御し、論理演算を遂行する。プロセッサ１２２はホストインタフェイス１２５を通じて外部のホスト装置と通信し、メモリインタフェイス１２７を通じて不揮発性メモリ装置１１０と通信し、そしてバッファ制御回路１２６を通じてＲＡＭ１３０と通信する。プロセッサ１２２はＲＡＭ１２３をワーキングメモリ、キャッシュメモリ、又はバッファメモリとして使用してストレージ装置１００を制御する。
【０１７０】
例示的に、プロセッサ１２２は検出政策モジュールＤＰＭ、欠陥検出モジュールＦＤＭ、欠陥通知モジュールＦＩＭ、状態判別モジュールＳＪＭ、能力チェックモジュールＣＣＭ、予測モジュールＰＭ、復旧モジュールＲＭ、及びメモリ管理モジュールＭＭＭを含む。例えば、検出政策モジュールＤＰＭ、欠陥検出モジュールＦＤＭ、欠陥通知モジュールＦＩＭ、状態判別モジュールＳＪＭ、能力チェックモジュールＣＣＭ、予測モジュールＰＭ、復旧モジュールＲＭ、及びメモリ管理モジュールＭＭＭの各々はプロセッサ１２２の一部としてハードウェア又はＩＰ（知識資産、Ｉｎｔｅｌｌｅｘｔｕａｌ  ｐｒｏｐｅｒｔｙ）としての専用機能ハードウェアブロック）の形態に具現されるか、又はプロセッサ１２２で駆動されるファームウェア又はソフトウェアで具現される。
【０１７１】
ＲＡＭ１２３はプロセッサ１２２のワーキングメモリ、キャッシュメモリ、又はバッファメモリとして使用される。ＲＡＭ１２３はプロセッサ１２２が実行するコード及び命令を格納する。ＲＡＭ１２３はプロセッサ１２２によって処理されるデータを格納する。ＲＡＭ１２３はＳＲＡＭ（Ｓｔａｔｉｃ  ＲＡＭ）を含む。
【０１７２】
エラー訂正ブロック１２４はエラー訂正を遂行する。エラー訂正ブロック１２４はメモリインタフェイス１２７を通じて不揮発性メモリ装置１１０に書き込まれるデータに基づいてエラー訂正エンコーディングを遂行する。エラー訂正エンコーディングされたデータはメモリインタフェイス１２７を通じて不揮発性メモリ装置１１０に伝達される。エラー訂正ブロック１２４は不揮発性メモリ装置１１０からメモリインタフェイス１２７を通じて受信されるデータに対してエラー訂正デコーディングを遂行する。例示的に、エラー訂正ブロック１２４はメモリインタフェイス１２７の構成要素としてメモリインタフェイス１２７に含まれる。
【０１７３】
ホストインタフェイス１２５はプロセッサ１２２の制御によって、外部のホスト装置と通信するように構成される。ホストインタフェイス１２５はＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）、ＳＡＴＡ（Ｓｅｒｉａｌ  ＡＴ  Ａｔｔａｃｈｍｅｎｔ）、ＳＡＳ（Ｓｅｒｉａｌ  Ａｔｔａｃｈｅｄ  ＳＣＳＩ）、ＨＳＩＣ（Ｈｉｇｈ  Ｓｐｅｅｄ  Ｉｎｔｅｒｃｈｉｐ）、ＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ）、ＰＣＩｅ（ＰＣＩ  ｅｘｐｒｅｓｓ）、ＮＶＭｅ（ＮｏｎＶｏｌａｔｉｌｅ  Ｍｅｍｏｒｙ  ｅｘｐｒｅｓｓ）、ＵＦＳ（Ｕｎｉｖｅｒｓａｌ  Ｆｌａｓｈ  Ｓｔｏｒａｇｅ）、ＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）、ＭＭＣ（ＭｕｌｔｉＭｅｄｉａ  Ｃａｒｄ）、ｅＭＭＣ（ｅｍｂｅｄｄｅｄ  ＭＭＣ）、ＤＩＭＭ（Ｄｕａｌ  Ｉｎ−ｌｉｎｅ  Ｍｅｍｏｒｙ  Ｍｏｄｕｌｅ）、ＲＤＩＭＭ（Ｒｅｇｉｓｔｅｒｅｄ  ＤＩＭＭ）、ＬＲＤＩＭＭ（Ｌｏａｄ  Ｒｅｄｕｃｅｄ  ＤＩＭＭ）等の、多様な通信方式の中で少なくとも１つを利用して通信するように構成される。各通信方式で、復旧動作は既存に定義された命令語をホストとストレージ装置との間で約束された他の動作に拡張するか、或いは新しい命令語を定義することによって遂行される。例えば、復旧動作を支援する新しい通信方式が定義され、使用される。
【０１７４】
バッファ制御回路１２６はプロセッサ１２２の制御によって、ＲＡＭ１３０を制御するように構成される。
【０１７５】
メモリインタフェイス１２７はプロセッサ１２２の制御によって、不揮発性メモリ装置１１０と通信するように構成される。図１を参照して説明されたように、メモリインタフェイス１２７は入出力チャンネルを通じてコマンド、アドレス、及びデータを不揮発性メモリ装置１１０と通信する。メモリインタフェイス１２７は制御チャンネルを通じて制御信号を不揮発性メモリ装置１１０と通信する。
【０１７６】
例示的に、ストレージ装置１００にＲＡＭ１３０が提供されない場合、コントローラ１２０にバッファ制御回路１２６が提供されないこともあり得る。
【０１７７】
例示的に、プロセッサ１２２はコードを利用してコントローラ１２０内のプロセッサ１２２以外の構成要素を制御する。プロセッサ１２２はコントローラ１２０の内部に提供される不揮発性メモリ装置（例えば、Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）からコードをロードする。他の例として、プロセッサ１２２は不揮発性メモリ装置１１０からメモリインタフェイス１２７を通じてコードをロードする。
【０１７８】
例示的に、コントローラ１２０内のバス１２１は制御バス及びデータバスに区分される。データバスはコントローラ１２０内でデータを伝送し、制御バスはコントローラ１２０内でコマンド、アドレスのような制御情報を伝送するように構成される。データバスと制御バスとは互いに分離され、相互に干渉しない、即ち相互に影響を与えない。データバスはホストインタフェイス１２５、バッファ制御回路１２６、エラー訂正ブロック１２４、及びメモリインタフェイス１２７に連結される。制御バスはホストインタフェイス１２５、プロセッサ１２２、バッファ制御回路１２６、ＲＡＭ１２３、及びメモリインタフェイス１２７に連結される。
【０１７９】
図１９は本発明の実施形態に係る不揮発性メモリ装置１１０を示すブロック図である。図１及び図１９を参照すれば、不揮発性メモリ装置１１０はメモリセルアレイ１１１、行デコーダ回路１１３、ページバッファ回路１１５、データ入出力回路１１７、及び制御ロジック回路１１９を含む。
【０１８０】
メモリセルアレイ１１１は複数のメモリブロックＢＬＫ１〜ＢＬＫｚを含む。各メモリブロックは複数のメモリセルを含む。各メモリブロックは少なくとも１つの接地選択ラインＧＳＬ、複数のワードラインＷＬ、及び少なくとも１つのストリング選択ラインＳＳＬを通じて行デコーダ回路１１３に連結される。各メモリブロックは複数のビットラインＢＬを通じてページバッファ回路１１５に連結される。複数のメモリブロックＢＬＫ１〜ＢＬＫｚは複数のビットラインＢＬに共通に連結される。複数のメモリブロックＢＬＫ１〜ＢＬＫｚのメモリセルは同一の構造を有する。
【０１８１】
例示的に、複数のメモリブロックＢＬＫ１〜ＢＬＫｚの各々は消去動作の単位である。即ちメモリセルアレイ１１１のメモリセルは１つのメモリブロックを単位として一括消去される。換言すると１つのメモリブロックに属するメモリセルは同時に消去される。他の例として、各メモリブロックは複数のサブブロックに分割され、複数のサブブロックの各々が消去動作の単位となる場合もある。
【０１８２】
例示的に、複数のメモリブロックＢＬＫ１〜ＢＬＫｚの各々はブロックアドレスによって識別される物理的格納空間を含む。複数のワードラインＷＬの各々は行アドレスによって識別される物理的格納空間に対応する。複数のビットラインＢＬの各々は列アドレスによって識別される物理的格納空間に対応する。
【０１８３】
例示的に、各メモリブロックは複数の物理ページを含み、各物理ページは複数のメモリセルを含む。各物理ページはプログラム動作（即ち、書込み動作）の単位である。各物理ページのメモリセルは同時にプログラム（即ち、書込み）される。各物理ページは複数の論理ページを含む。各物理ページのメモリメモリセルの各々にプログラムされるビットは各々論理ページを形成する。各物理ページのメモリセルにプログラムされる第１番目のビットは第１番目の論理ページを形成する。同様に、各物理ページのメモリセルにプログラムされるＫ番目のビット（Ｋは正の整数）はＫ番目の論理ページを形成する。
【０１８４】
行デコーダ回路１１３は複数の接地選択ラインＧＳＬ、複数のワードラインＷＬ、及び複数のストリング選択ラインＳＳＬを通じてメモリセルアレイ１１１に連結される。行デコーダ回路１１３は制御ロジック回路１１９の制御に従って動作する。行デコーダ回路１１３はコントローラ１２０から入出力チャンネルを通じて受信されるアドレスをデコーディングし、デコーディングされたアドレスに従ってストリング選択ラインＳＳＬ、ワードラインＷＬ、及び接地選択ラインＧＳＬに印加される電圧を制御する。
【０１８５】
例えば、プログラム動作の時に、行デコーダ回路１１３は、アドレスによって選択されたメモリブロックの選択されたワードラインにプログラム電圧を印加し、選択されたメモリブロックの非選択されたワードラインにパス電圧を印加する。読出し動作の時に、行デコーダ回路１１３はアドレスによって選択されたメモリブロックの選択されたワードラインに選択読出し電圧を印加し、選択されたメモリブロックの非選択されたワードラインに非選択読出し電圧を印加する。消去動作の時に、行デコーダ回路１１３はアドレスによって選択されたメモリブロックのワードラインに消去電圧（例えば、接地電圧又は接地電圧と類似なレベルを有する低電圧）を印加する。
【０１８６】
ページバッファ回路１１５は複数のビットラインＢＬを通じてメモリセルアレイ１１１に連結される。ページバッファ回路１１５は複数のデータラインＤＬを通じてデータ入出力回路１１７と連結される。ページバッファ回路１１５は制御ロジック回路１１９の制御に従って動作する。
【０１８７】
プログラム動作の時に、ページバッファ回路１１５はメモリセルにプログラムされるデータを格納する。格納されたデータに基づいて、ページバッファ回路１１５は複数のビットラインＢＬに電圧を印加する。例えば、ページバッファ回路１１５は書込みドライバとして機能する。読出し動作又は検証読出し時に、ページバッファ回路１１５はビットラインＢＬの電圧をセンシングし、センシング結果を格納する。例えば、ページバッファ回路１１５は感知増幅器として機能する。
【０１８８】
データ入出力回路１１７は複数のデータラインＤＬを通じてページバッファ回路１１５と連結される。データ入出力回路１１７はページバッファ回路１１５によって読み出されたデータを、入出力チャンネルを通じてコントローラ１２０に出力し、コントローラ１２０から入出力チャンネルを通じて受信されるデータをページバッファ回路１１５に伝達する。
【０１８９】
制御ロジック回路１１９はコントローラ１２０から入出力チャンネルを通じてコマンドを受信し、制御チャンネルを通じて制御信号を受信する。制御ロジック回路１１９は制御信号に応答して入出力チャンネルを通じて受信されるコマンドを受信し、入出力チャンネルを通じて受信されるアドレスを行デコーダ回路１１３にルーティングし、そして入出力チャンネルを通じて受信されるデータをデータ入出力回路１１７にルーティングする。制御ロジック回路１１９は受信されたコマンドをデコーディングし、デコーディングされたコマンドに従って不揮発性メモリ装置１１０を制御する。
【０１９０】
例示的に、読出し動作の時に、制御ロジック回路１１９はコントローラ１２０から制御チャンネルを通じて受信される読出しイネーブル信号（／ＲＥ）からデータストロボ信号（ＤＱＳ）を生成する。生成されたデータストロボ信号（ＤＱＳ）は制御チャンネルを通じてコントローラ１２０に出力される。プログラム動作の時に、制御ロジック回路１１９はコントローラ１２０から制御チャンネルを通じてデータストロボ信号（ＤＱＳ）を受信する。
【０１９１】
図２０は本発明の実施形態に係るメモリブロックＢＬＫａ（ａ＝１〜ｚ）を示す回路図である。図２０を参照すれば、メモリブロックＢＬＫａは複数のセルストリングＣＳ１１、ＣＳ２１、ＣＳ１２、ＣＳ２２を含む。複数のセルストリングＣＳ１１、ＣＳ２１、ＣＳ１２、ＣＳ２２は行方向（ｒｏｗ  ｄｉｒｅｃｔｉｏｎ）及び列方向（ｃｏｌｕｍｎ  ｄｉｒｅｃｔｉｏｎ）に沿って配列されて、行及び列を形成する。
【０１９２】
例えば、行方向（ｒｏｗ  ｄｉｒｅｃｔｉｏｎ）に沿って配列されたセルストリングＣＳ１１、ＣＳ１２は第１行を形成し、行方向に沿って配列されたセルストリングＣＳ２１、ＣＳ２２は第２行を形成する。列方向（ｃｏｌｕｍｎ  ｄｉｒｅｃｔｉｏｎ）に沿って配列されたセルストリングＣＳ１１、ＣＳ２１は第１列を形成し、列方向に沿って配列されたセルストリングＣＳ１２、ＣＳ２２は第２列を形成する。
【０１９３】
各セルストリングは複数のセルトランジスタを含む。複数のセルトランジスタは接地選択トランジスタＧＳＴ、メモリメモリセルＭＣ１〜ＭＣ６、及びストリング選択トランジスタＳＳＴａ、ＳＳＴｂを含む。各セルストリングの接地選択トランジスタＧＳＴ、メモリメモリセルＭＣ１〜ＭＣ６、及びストリング選択トランジスタＳＳＴａ、ＳＳＴｂはセルストリングＣＳ１１、ＣＳ２１、ＣＳ１２、ＣＳ２２が行及び列に沿って配列される平面（例えば、メモリブロックＢＬＫａの基板の上の平面）と垂直になる高さ方向に積層される。
【０１９４】
複数のセルトランジスタは、そのゲート絶縁膜に捕獲された電荷量に従って変動する閾値電圧を有する電荷捕獲型（ｃｈａｒｇｅ  ｔｒａｐ  ｔｙｐｅ）トランジスタである。
【０１９５】
最下端の接地選択トランジスタＧＳＴのソースは共通ソースラインＣＳＬに共通に連結される。
【０１９６】
第１行のセルストリングＣＳ１１、ＣＳ１２の接地選択トランジスタＧＳＴの制御ゲートは接地選択ラインＧＳＬ１に共通に連結され、第２行のセルストリングＣＳ２１、ＣＳ２２の接地選択トランジスタＧＳＴの制御ゲートは接地選択ラインＧＳＬ２に共通に連結される。即ち、互いに異なる行のセルストリングは互いに異なる接地選択ラインに連結される。
【０１９７】
例示的に、同一の行の互いに異なる高さの接地選択トランジスタが互いに異なる接地選択ラインに連結されるようにメモリブロックＢＬＫａが変更される。例示的に、互いに異なる行の同一の高さの接地選択トランジスタに連結される接地選択トランジスタが互いに連結されて共通に制御されるようにメモリブロックＢＬＫａが変更される。例示的に、接地選択トランジスタに連結される接地選択ラインが互いに連結されて共通に制御されるようにメモリブロックＢＬＫａが変更される。
【０１９８】
基板（又は接地選択トランジスタＧＳＴ）から同一の高さ（又は順序）に位置したメモリセルの制御ゲートは１つのワードラインに共通に連結され、互いに異なる高さ（又は順序）に位置したメモリセルの制御ゲートは互いに異なるワードラインＷＬ１〜ＷＬ６に各々連結される。
例えば、メモリメモリセルＭＣ１はワードラインＷＬ１に共通に連結される。メモリメモリセルＭＣ２はワードラインＷＬ２に共通に連結される。メモリメモリセルＭＣ３はワードラインＷＬ３に共通に連結される。メモリメモリセルＭＣ４はワードラインＷＬ４に共通に連結される。メモリメモリセルＭＣ５はワードラインＷＬ５に共通に連結される。メモリメモリセルＭＣ６はワードラインＷＬ６に共通に連結される。
【０１９９】
複数のセルストリングＣＳ１１、ＣＳ２１、ＣＳ１２、ＣＳ２２の同一の高さ（又は順序）の第１ストリング選択トランジスタＳＳＴａの内で、互いに異なる行の第１ストリング選択トランジスタＳＳＴａの制御ゲートは互いに異なるストリング選択ラインＳＳＬ１ａ、ＳＳＬ２ａに各々連結される。例えば、セルストリングＣＳ１１、ＣＳ１２の第１ストリング選択トランジスタＳＳＴａはストリング選択ラインＳＳＬ１ａに共通に連結される。セルストリングＣＳ２１、ＣＳ２２の第１ストリング選択トランジスタＳＳＴａはストリング選択ラインＳＳＬ２ａに共通に連結される。
【０２００】
複数のセルストリングＣＳ１１、ＣＳ２１、ＣＳ１２、ＣＳ２２の同一の高さ（又は順序）の第２ストリング選択トランジスタＳＳＴｂの内で、互いに異なる行の第２ストリング選択トランジスタＳＳＴｂの制御ゲートは互いに異なるストリング選択ラインＳＳＬ１ｂ、ＳＳＬ２ｂに各々連結される。例えば、セルストリングＣＳ１１、ＣＳ１２の第２ストリング選択トランジスタＳＳＴｂはストリング選択ラインＳＳＬ１ｂに共通に連結される。セルストリングＣＳ２１、ＣＳ２２の第２ストリング選択トランジスタＳＳＴｂはストリング選択ラインＳＳＬ２ｂに共通に連結される。
【０２０１】
即ち、互いに異なる行のセルストリングは互いに異なるストリング選択ラインに連結される。同一の行のセルストリングの同一の高さ（又は順序）のストリング選択トランジスタは同一のストリング選択ラインに連結される。同一の行のセルストリングの互いに異なる高さ（又は順序）のストリング選択トランジスタは互いに異なるストリング選択ラインに連結される。
【０２０２】
例示的に、同一の行のセルストリングのストリング選択トランジスタは１つのストリング選択ラインに共通に連結される。例えば、第１行のセルストリングＣＳ１１、ＣＳ１２のストリング選択トランジスタＳＳＴａ、ＳＳＴｂは各々、１つのストリング選択ラインＳＳＬ１ａ、ＳＳＬ１ｂに共通に連結される。第２行のセルストリングＣＳ２１、ＣＳ２２のストリング選択トランジスタＳＳＴａ、ＳＳＴｂは各々、１つのストリング選択ラインＳＳＬ２ａ、ＳＳＬ２ｂに共通に連結される。
【０２０３】
複数のセルストリングＣＳ１１、ＣＳ２１、ＣＳ１２、ＣＳ２２の列は互いに異なるビットラインＢＬ１、ＢＬ２に各々連結される。例えば、第１列のセルストリングＣＳ１１、ＣＳ２１のストリング選択トランジスタＳＳＴｂはビットラインＢＬ１に共通に連結される。第２列のセルストリングＣＳ１２、ＣＳ２２のストリング選択トランジスタＳＳＴｂはビットラインＢＬ２に共通に連結される。
【０２０４】
メモリブロックＢＬＫａは、基板から同一の高さに位置したメモリセルがサブワードラインを共有するという特徴を有する。互いに異なるメモリブロックは、サブワードラインを共有しないという特徴を有する場合がある。例えば、第１メモリブロックの第１高さのメモリセルは第１メモリブロックの第１高さの他のメモリセルとサブワードラインを共有する。第１メモリブロックの第１高さのメモリセルは第２メモリブロックの第１高さのメモリセルとサブワードラインを共有しない場合がある。
サブブロックはメモリブロックＢＬＫａの一部に特徴される。
【０２０５】
セルストリングＣＳ１１、ＣＳ１２は第１プレーンを形成する。セルストリングＣＳ２１、ＣＳ２２は第２プレーンを形成する。
【０２０６】
メモリブロックＢＬＫａにおいて、各プレーンの各高さのメモリセルは物理ページを形成する。物理ページはメモリメモリセルＭＣ１〜ＭＣ６の書込み及び読出しの単位である。例えば、ストリング選択ラインＳＳＬ１ａ、ＳＳＬ１ｂ、ＳＳＬ２ａ、ＳＳＬ２ｂによってメモリブロックＢＬＫａの１つのプレーンが選択される。
例えば、ストリング選択ラインＳＳＬ１ａ、ＳＳＬ１ｂにターンオン電圧が供給され、ストリング選択ラインＳＳＬ２ａ、ＳＳＬ２ｂにターンオフ電圧が供給される時、第１プレーンのセルストリングＣＳ１１、ＣＳ１２がビットラインＢＬ１、ＢＬ２に連結される。即ち、第１プレーンが選択される。一方、ストリング選択ラインＳＳＬ２ａ、ＳＳＬ２ｂにターンオン電圧が供給され、ストリング選択ラインＳＳＬ１ａ、ＳＳＬ１Ｂにターンオフ電圧が供給される時、第２プレーンのセルストリングＣＳ２１、ＣＳ２２がビットラインＢＬ１、ＢＬ２に連結される。即ち、第２プレーンが選択される。
選択されたプレーンにおいて、ワードラインＷＬ１〜ＷＬ６によってメモリメモリセルＭＣ１〜ＭＣ６の１つの行が選択される。選択された行で、例えば第２ワードラインＷＬ２に選択電圧が印加され、残るワードラインＷＬ１、ＷＬ３〜ＷＬ６に非選択電圧が印加される。即ち、ストリング選択ラインＳＳＬ１ａ、ＳＳＬ１ｂ、ＳＳＬ２ａ、ＳＳＬ２ｂ、及びワードラインＷＬ１〜ＷＬ６の電圧を調節することによって、第２プレーンの第２ワードラインＷＬ２に対応する物理ページが選択される。選択された物理ページのメモリメモリセルＭＣ２で、書込み又は読出しが遂行される。
【０２０７】
メモリメモリセルＭＣ１〜ＭＣ６の各々に２以上のビットが書き込まれる。１つの物理ページに属するメモリメモリセルＭＣ１〜ＭＣ６の各々に書き込まれるビットは論理ページを形成する。１つの物理ページに属するメモリメモリセルＭＣ１〜ＭＣ６の各々に書き込まれる第１番目のビットは第１番目の論理ページを形成する。１つの物理ページに属するメモリメモリセルＭＣ１〜ＭＣ６の各々に書き込まれるｎ番目のビットはｎ番目の論理ページを形成する。論理ページはデータアクセスの単位である。１つの物理ページで読出しが遂行される時に、論理ページの単位にデータがアクセスされる。
【０２０８】
メモリブロックＢＬＫａにおいて、メモリメモリセルＭＣ１〜ＭＣ６の消去はメモリブロック単位又はサブブロックの単位で遂行される。メモリブロック単位で消去が遂行される時、メモリブロックＢＬＫａの全てのメモリメモリセルＭＣ１〜ＭＣ６が１つの消去要請（例えば、外部のコントローラからの消去要請）に従って同時に消去される。サブブロックの単位に遂行される時、メモリブロックＢＬＫａのメモリメモリセルＭＣ１〜ＭＣ６の中で一部は１つの消去要請（例えば、外部のコントローラからの消去要請）に従って同時に消去され、残る一部は消去禁止される。消去されるメモリメモリセルＭＣ１〜ＭＣ６に連結されたワードラインに低電圧（例えば、接地電圧又は接地電圧と類似なレベルを有する低電圧）が供給され、消去禁止されたメモリセルに連結されたワードラインはフローティングされる。
【０２０９】
図２０に示したメモリブロックＢＬＫａは例示的なものである。本発明の技術的思想は図２０に示したメモリブロックＢＬＫａに限定されない。例えば、セルストリングの行の数は増加又は減少される場合がある。セルストリングの行の数が変更される場合、セルストリングの行に連結されるストリング選択ライン又は接地選択ラインの数、及び１つのビットラインに連結されるセルストリングの数もまた変更される。
【０２１０】
セルストリングの列の数は増加又は減少される場合がある。セルストリングの列の数が変更される場合、セルストリングの列に連結されるビットラインの数、及び１つのストリング選択ラインに連結されるセルストリングの数もまた変更される。
【０２１１】
セルストリングの高さは増加又は減少される場合がある。その場合、セルストリングの各々に積層される接地選択トランジスタ、メモリメモリセル、又はストリング選択トランジスタの数は増加又は減少される。
【０２１２】
例示的に、１つの物理ページに属するメモリセルは少なくとも３つの論理ページに対応する。例えば、１つのメモリセルにｋ個（ｋは２より大きい量の整数）のビットがプログラムされる。１つの物理ページに属するメモリセルで、各メモリセルにプログラムされるｋ個のビットは各々ｋ個の論理ページを形成する。
【０２１３】
上述されたように、メモリブロックＢＬＫａは３次元メモリアレイとして提供される。３次元メモリアレイは、シリコン基板及び、メモリメモリセルＭＣ１〜ＭＣ６の動作に連関する回路の上に配置される活性領域を有するメモリメモリセルＭＣ１〜ＭＣ６のアレイの１つ又はそれ以上の物理レベルにモノリシックに（ｍｏｎｏｌｉｔｈｉｃａｌｌｙ）形成される。メモリメモリセルＭＣ１〜ＭＣ６の動作に連関された回路は、基板内に又は基板上に位置する。モノリシックに形成されるとは、３次元アレイの各レベルのレイヤが３次元アレイの下位レベルのレイヤ上に直接蒸着（デポジット）されることを意味する。
【０２１４】
本発明の技術的思想に従う一例として、３次元メモリアレイは、垂直の方向性を有して、少なくとも１つのメモリセルが他の１つのメモリセル上に位置する垂直ＮＡＮＤストリング（又はセルストリング）を含む。少なくとも１つのメモリセルは電荷捕獲レイヤを含む。各垂直ＮＡＮＤストリングはメモリメモリセルＭＣ１〜ＭＣ６上に位置する少なくとも１つの選択トランジスタをさらに含む。少なくとも１つの選択トランジスタはメモリメモリセルＭＣ１〜ＭＣ６と同一の構造を有し、メモリメモリセルＭＣ１〜ＭＣ６と共にモノリシックに形成される。
【０２１５】
３次元メモリアレイが複数のレベルから構成され、レベル内又はレベル間でワードライン及び／又はビットラインが共有される構成は、米国特許登録第７、６７９、１３３号公報、米国特許登録第８、５５３、４６６号公報、米国特許登録第８、６５４、５８７号公報、米国特許登録第８、５５９、２３５号公報、及び米国特許公開第２０１１／０２３３６４８号に開示されており、これらの特許はその全体が本発明のレファレンスとして含まれる。
【０２１６】
本発明の詳細な説明では具体的な実施形態に関して説明したが、本発明の範囲と技術的な思想から逸脱しない限度内で様々な変形が可能である。従って、本発明の範囲は上述した実施形態に限定されてはならず、後述する特許請求範囲のみではなく、この発明の特許請求範囲と均等な範囲によって定まれるべきである。
【符号の説明】
【０２１７】
１０      コンピューティング装置
２０      ホスト装置
３０      ストレージ装置
１００      ストレージ装置
１１０      不揮発性メモリ装置
１１１      メモリセルアレイ
１１３      行デコーダ回路
１１５      ページバッファ回路
１１７      データ入出力回路
１１９      制御ロジック回路
１２０      コントローラ
１２１      バス
１２２      プロセッサ
１２３      ＲＡＭ
１２４      エラー訂正ブロック
１２５      ホストインタフェイス
１２６      バッファ制御回路
１２７      メモリインタフェイス
１３０      バッファメモリ
ＢＬＫａ、ＢＬＫ１〜ＢＬＫｚ      メモリブロック
ＢＬ、ＢＬ１、ＢＬ２        ビットライン
ＣＳ１１、ＣＳ１２、ＣＳ２１、ＣＳ２２      セルストリング
ＣＳＬ      共通ソースライン
ＧＳＬ、ＧＳＬ１、ＧＳＬ２      接地選択ライン
ＧＳＴ      接地選択トランジスタ
ＭＣ１〜ＭＣ６      メモリセル
ＳＳＬ、ＳＳＬ１ａ、ＳＳＬ１ｂ、ＳＳＬ２ａ、ＳＳＬ２ｂ      ストリング選択ライン
ＳＳＴａ、ＳＳＴｂ      ストリング選択トランジスタ
ＷＬ、ＷＬ１〜ＷＬ６        複数のワードラインＣＣＭ      能力チェックモジュール
ＣＲＭ      能力獲得モジュール
ＤＰＭ      検出政策モジュール
ＦＤＭ      欠陥検出モジュール
ＦＤＰ      欠陥検出ポーリング
ＦＩＭ      欠陥通知モジュール
ＮＶＣ      不揮発性メモリチップ
ＰＭ        予測モジュール
ＲＣＭ      復旧完了モジュール
ＲＤＭ      復旧決定モジュール
ＲＭ        復旧モジュール
ＭＭＭ      メモリ管理モジュール
ＳＪＭ      状態判別モジュール
ＳＳＣＭ    システム状態チェックモジュール
【図１】
2017201519.tif 000003
【図２】
2017201519.tif 000004
【図３】
2017201519.tif 000005
【図４】
2017201519.tif 000006
【図５】
2017201519.tif 000007
【図６】
2017201519.tif 000008
【図７】
2017201519.tif 000009
【図８】
2017201519.tif 000010
【図９】
2017201519.tif 000011
【図１０】
2017201519.tif 000012
【図１１】
2017201519.tif 000013
【図１２】
2017201519.tif 000014
【図１３】
2017201519.tif 000015
【図１４】
2017201519.tif 000016
【図１５】
2017201519.tif 000017
【図１６】
2017201519.tif 000018
【図１７】
2017201519.tif 000019
【図１８】
2017201519.tif 000020
【図１９】
2017201519.tif 000021
【図２０】
2017201519.tif 000022