(57)【要約】      （修正有）【課題】少ないプログラムされたページを有するブロックを効率的に消去する方法、システム及び機器を提供する。【解決手段】システム１００は、メモリとコントローラとを含む。メモリは、複数のページをそれぞれ有するブロックを含む。コントローラは、メモリのブロック中の特定のページ番号を有する閾ページがプログラムされているかを判定し、閾ページがプログラムされていると判定された場合、通常消去動作によってブロックを消去し、閾ページがプログラムされていないと判定された場合、通常消去動作よりも深くブロックを消去するように構成される特別消去動作に従ってブロックを消去する。特別消去動作は、ブロックを消去する前にブロックを事前プログラムすること、ブロックを消去する前に消去検査電圧を減少させること、又は新規消去電圧を有する消去パルスを１つ以上追加すること、の少なくとも１つを備える。【選択図】図１Ａ
2020187816.tif 000002
【特許請求の範囲】
【請求項１】
複数のページをそれぞれ有するブロックを備えるメモリと、
前記メモリに接続され、
前記メモリ中の特定のページ番号を有する閾ページがプログラムされているかを判定し、
前記閾ページがプログラムされていると判定された場合、通常消去動作によって前記ブロックを消去し、
前記閾ページがプログラムされていないと判定された場合、前記通常消去動作よりも深く前記ブロックを消去するように構成される特別消去動作に従って前記ブロックを消去する、コントローラと、
を備えるシステム。
【請求項２】
前記コントローラは、前記閾ページのフラグが設定値と同一であるかを判定することによって、前記閾ページがプログラムされているかを判定するように構成される、請求項１のシステム。
【請求項３】
前記コントローラは、前記メモリから前記閾ページの前記フラグを読みとるように構成される、請求項２のシステム。
【請求項４】
前記特定のページ番号は、経験的結果に基づいて事前に決定される、請求項１のシステム。
【請求項５】
前記コントローラは、
通常消去電圧を有する消去パルスを前記ブロックに印加し、
通常消去検査電圧より小さくない閾電圧を有するメモリセルの数が閾値より小さいかを検査することによって、消去検査試験を実行し、
前記メモリセルの数が前記閾値よりも小さいと判定された場合、前記ブロックは前記消去検査試験を通過したと判定し、さらなる消去は実行せず、
前記メモリセルの数が前記閾値よりも小さくないと判定された場合、前記ブロックが前記消去検査試験を通過するまで１つ以上の消去検査サイクルを実行する、
ことを含む第１の消去検査サイクルを実行することによって、前記通常消去動作に従って前記ブロックを消去するように構成され、
前記通常消去電圧は、サイクル毎にステップ電圧ずつ増加する、請求項１のシステム。
【請求項６】
前記コントローラは、
前記通常消去動作に従って前記ブロックを消去し、
その後、追加消去を前記ブロックに実行する、ことによって前記特別消去動作に従って前記ブロックを消去するように構成される、請求項５のシステム。
【請求項７】
前記コントローラは、
特別消去電圧を有する追加消去パルスを前記ブロックに印加する、ことによって前記追加消去を前記ブロックに実行するように構成され、
前記特別消去電圧は、追加電圧によって前記ブロックに印加された先行する消去電圧よりも高い、請求項６のシステム。
【請求項８】
前記追加電圧は、前記閾ページの前記特定のページ番号に関連する、請求項７のシステム。
【請求項９】
前記追加電圧は、経験的結果に基づいて事前に決定される、請求項７のシステム。
【請求項１０】
前記コントローラは、
１つ以上の消去パルスを前記ブロックに印加することによって、前記追加消去を前記ブロックに実行するように構成され、
前記消去パルスのそれぞれにおける消去電圧は、前記ステップ電圧によって前記ブロックに印加される先行する消去電圧よりも高い、請求項６のシステム。
【請求項１１】
１つ以上の消去のショットの数は、前記閾ページの前記特定のページ番号に関連する、請求項１０のシステム。
【請求項１２】
１つ以上の消去のショットの数は、経験的結果に基づいて事前に決定される、請求項１０のシステム。
【請求項１３】
前記コントローラは、
追加検査電圧によって前記通常検査電圧を新規消去検査電圧へと減少させ、
前記新規消去検査電圧を使用して、消去検査サイクルを前記ブロックに実行する、ことによって特別消去動作に従って前記ブロックを消去するように構成される、請求項５のシステム。
【請求項１４】
前記追加検査電圧は、前記閾ページの前記特定のページ番号に関連し、経験的結果に基づいて事前に決定される、請求項１３のシステム。
【請求項１５】
前記コントローラは、
前記ブロックを事前プログラムし、
その後、前記通常消去動作に従って消去検査サイクルを前記ブロックに実行する、ことによって特別消去動作に従って前記ブロックを消去するように構成される、請求項５のシステム。
【請求項１６】
前記コントローラは、前記ブロック中のプログラムされたページの数が前記特定のページ番号よりも大きくなるように、プログラム電圧を前記ブロックのページに印加することによって、前記ブロックを事前プログラムするように構成される、請求項１５のシステム。
【請求項１７】
前記コントローラは、
前記ブロックを消去した後、前記ブロックをプログラムし、
プログラムされたブロック中のメモリセルの閾電圧の分布を判定するために、前記ブロックを読み取り、
判定された前記プログラムされたブロック中のメモリセルの閾電圧の分布の結果に基づいて、前記ブロックが浅い消去の効果を示しているかを判定する、ように構成される、請求項１のシステム。
【請求項１８】
前記コントローラは、
前記ブロック中の第１のページ番号を有する第１の閾ページがプログラムされているかを判定し、
前記第１の閾ページがプログラムされていると判定された場合、前記通常消去動作によって前記ブロックを消去し、
前記第１の閾ページがプログラムされていないと判定された場合、前記ブロック中の第２のページ番号を有する第２の閾ページがプログラムされているかを判定し、前記第２のページ番号は前記第１のページ番号よりも小さく、
前記第２の閾ページがプログラムされていると判定された場合、前記通常消去動作よりも深く前記ブロックを消去するように構成される第１の消去動作に従って前記ブロックを消去し、
前記第２の閾ページがプログラムされていないと判定された場合、前記第１の通常消去動作よりも深く前記ブロックを消去するように構成される第２の消去動作に従って前記ブロックを消去する、ように構成される請求項１のシステム。
【請求項１９】
メモリ中の特定のブロック中の特定のページ番号を有する閾ページがプログラムされているかを判定することと、
前記閾ページがプログラムされていないと判定された場合、通常消去動作よりも深く前記ブロックを消去するように構成される特別消去動作に従って前記ブロックを消去することと、
前記通常消去動作は、複数のプログラムされたページを有するブロックに適用され、前記複数のプログラムされたページの数は、前記特定のページ番号よりも大きいことと、
を備えるメモリ中のブロックを消去する方法。
【請求項２０】
前記特別消去動作は、
前記ブロックを消去する前に、前記ブロックを事前プログラムすること、
前記ブロックを消去する前に、消去検査電圧を減少させること、
新規消去電圧を有する消去パルスを１つ以上追加すること、の少なくとも１つを備える、請求項１９の方法。
【発明の詳細な説明】
【背景技術】
【０００１】
ＮＡＮＤフラッシュメモリ等のメモリ装置あるいはシステムは、現代の生活において広く使われている。技術の進歩によって大記憶容量や低コストが実現され、メモリ装置あるいはシステムは、デジタルスチルカメラ、Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ（ＵＳＢ）メモリ、メモリーカード、スマートフォンを含む携帯電話、ネットブック、及びその他に適用されてきた。時として、ユーザは、メモリ装置あるいはシステムのとても小さい領域を使用する短い文章を頻繁に書くあるいは消すことがあるが、これはメモリブロックの消去に問題を起こしかねない。
【発明の概要】
【発明が解決しようとする課題】
【０００２】
本開示は、少ないプログラムされたページを有するブロックを効率的に消去するためのシステム及び技術を記載する。
【課題を解決するための手段】
【０００３】
本開示の１つの様態は、複数のページをそれぞれ有するブロックを備えるメモリと、メモリに接続されたコントローラであって、メモリ中の特定のページ番号を有する閾ページがプログラムされているかを判定し、閾ページがプログラムされていると判定された場合、通常消去動作によってブロックを消去し、閾ページがプログラムされていないと判定された場合、通常消去動作よりも深くブロックを消去するように構成された特別消去動作によってブロックを消去する、コントローラと、を備えるシステムである。特定のページ番号は、経験的結果に基づいて事前に決定されてよい。
【０００４】
コントローラは、閾ページのフラグが設定値と同一であるかを判定することによって、閾ページがプログラムされているかを判定するように構成される。いくつかの場合では、コントローラは、閾ページのフラグが設定値と同一でない時に閾ページがプログラムされていると判定し、閾ページのフラグが設定値と同一である時に閾ページがプログラムされていないと判定するように構成される。いくつかの場合では、コントローラは、メモリから閾ページのフラグを読みとるように構成される。
【０００５】
いくつかの実装例では、コントローラは、通常消去電圧を有する消去パルスをブロックに印加し、通常消去検査電圧より小さくない閾電圧を有するメモリセルの数が閾値より小さいかを検査することによって、消去検査試験を実行し、メモリセルの数が閾値よりも小さいと判定された場合、ブロックは消去検査試験を通過したと判定し、さらなる消去は実行せず、メモリセルの数が閾値よりも小さくないと判定された場合、ブロックが消去検査試験を通過するまで１つ以上の消去検査サイクルを実行する、ことを含む第１の消去検査サイクルを実行することによって、通常消去動作に従ってブロックを消去するように構成され、通常消去電圧は、サイクル毎にステップ電圧ずつ増加する。ステップ電圧は、サイクル毎に固定されてよい。
【０００６】
いくつかの場合では、コントローラは、通常消去動作に従ってブロックを消去し、その後、追加消去記ブロックに実行する、ことによって特別消去動作に従ってブロックを消去するように構成される。コントローラは、特別消去電圧を有する追加消去パルスをブロックに印加する、ことによって追加消去をブロックに実行するように構成されてよく、特別消去電圧は、追加電圧によってブロックに印加された先行する消去電圧よりも高い。追加電圧は、閾ページの特定のページ番号に関連してよい。追加電圧は、経験的結果に基づいて事前に決定されてよい。追加電圧は、ステップ電圧とは異なっていてよい。
【０００７】
いくつかの場合では、コントローラは、１つ以上の消去パルスをブロックに印加することによって、追加消去をブロックに実行するように構成され、消去パルスのそれぞれにおける消去電圧は、ステップ電圧によってブロックに印加される先行する消去電圧よりも高い。１つ以上の消去のショットの数は、閾ページの特定のページ番号に関連してよい。１つ以上の消去のショットの数は、経験的結果に基づいて事前に決定されてよい。
【０００８】
いくつかの場合では、コントローラは、追加検査電圧によって通常検査電圧を新規消去検査電圧へと減少させ、新規消去検査電圧を使用して、消去検査サイクルをブロックに実行する、ことによって特別消去動作に従ってブロックを消去するように構成される。追加検査電圧は、閾ページの特定のページ番号に関連し、経験的結果に基づいて事前に決定されてよい。
【０００９】
いくつかの場合では、コントローラは、ブロックを事前プログラムし、その後、通常消去動作に従って消去検査サイクルをブロックに実行する、ことによって特別消去動作に従ってブロックを消去するように構成される。コントローラは、通常消去電圧、ステップ電圧、及び通常消去検査電圧を使用して、消去検査サイクルをブロックに実行するように構成されてよい。
【００１０】
コントローラは、ブロック中のプログラムされたページの数が特定のページ番号よりも大きくなるように、プログラム電圧をブロックのページに印加することによって、ブロックを事前プログラムするように構成されてよい。コントローラは、ブロック中のページの全てを事前プログラムすることによって、ブロックを事前プログラムするように構成されてよい。プログラム電圧は、経験的結果に基づいて事前に決定されてよい。コントローラは、ブロック中のメモリセルのプログラム状態の検査をせずに、ブロックを事前プログラムするように構成されてよい。
【００１１】
いくつかの実装例では、コントローラは、ブロックを消去した後、ブロックをプログラムし、プログラムされたブロック中のメモリセルの閾電圧の分布を判定するために、ブロックを読み取り、判定されたプログラムされたブロック中のメモリセルの閾電圧の分布の結果に基づいて、ブロックが浅い消去の効果を示しているかを判定する、ように構成される。
【００１２】
いくつかの実装例では、コントローラは、ブロック中の第１のページ番号を有する第１の閾ページがプログラムされているかを判定し、第１の閾ページがプログラムされていると判定された場合、通常消去動作によってブロックを消去し、第１の閾ページがプログラムされていないと判定された場合、ブロック中の第２のページ番号を有する第２の閾ページがプログラムされているかを判定し、第２のページ番号は第１のページ番号よりも小さく、第２の閾ページがプログラムされていると判定された場合、通常消去動作よりも深くブロックを消去するように構成される第１の消去動作に従ってブロックを消去し、第２の閾ページがプログラムされていないと判定された場合、第１の通常消去動作よりも深くブロックを消去するように構成される第２の消去動作に従ってブロックを消去する、ように構成される。
【００１３】
本開示の別の様態は、メモリ中のブロックを消去する方法を特徴とする。方法は、メモリ中の特定のブロック中の特定のページ番号を有する閾ページがプログラムされているかを判定し、閾ページがプログラムされていないと判定された場合、通常消去動作よりも深くブロックを消去するように構成される特別消去動作に従ってブロックを消去する。通常消去動作は、複数のプログラムされたページを有するブロックに適用され、複数のプログラムされたページは、特定のページ番号よりも大きい。
【００１４】
前記特別消去動作は、ブロックを消去する前にブロックを事前プログラムすること、ブロックを消去する前に消去検査電圧を減少させること、新規消去電圧を有する消去パルスを１つ以上追加すること、の少なくとも１つを備えてよい。
【００１５】
本開示において実装される技術は、ＳＬＣ（ｓｉｎｇｌｅ−ｌｅｖｅｌ−ｃｅｌｌ）装置、２レベルセル装置のようなＭＬＣ（ｍｕｌｔｉ−ｌｅｖｅｌ  ｃｅｌｌ）装置、ＴＬＣ（ｔｒｉｐｌｅ−ｌｅｖｅｌ−ｃｅｌｌ）装置、又はＱＬＣ（ｑｕａｄ−ｌｅｖｅｌ−ｃｅｌｌ）装置等の様々なメモリタイプに適用することができる。本技術は、２次元（２Ｄ）メモリシステム又は３次元（３Ｄ）メモリシステム等の様々な次元のメモリシステムに適用することができる。本技術は、中でもＮＡＮＤフラッシュメモリ、ＮＯＲフラッシュメモリ等の様々なタイプの不揮発性メモリシステムに適用することができる。追加的又は代替的には、本技術は、中でもセキュアデジタル（ＳＤ）カード、組み込みマルチメディアカード（ｅＭＭＣ）、又はソリッドステートドライブ（ＳＳＤ）、組み込みシステム、メディアプレイヤー、モバイル装置等の様々なタイプの装置又はシステムに適用することができる。
【００１６】
１つ以上の開示される実装例の詳細は、添付の図面と共に以下の説明において定められる。その他の特徴、様態、及び利点は、説明、図面、及び請求の範囲によって明らかになる。
【図面の簡単な説明】
【００１７】
【図１Ａ】図１Ａは、１つ以上の実装例に係る、メモリ装置を含むシステムの一例を示す。
【００１８】
【図１Ｂ】図１Ｂは、１つ以上の実装例に係る、メモリブロックを含むシステムの一例を示す。
【００１９】
【図１Ｃ】図１Ｃは、１つ以上の実装例に係る、２次元（２Ｄ）メモリのブロックの例を示す。
【００２０】
【図１Ｄ】図１Ｄは、１つ以上の実装例に係る、３次元（３Ｄ）メモリのブロックの例を示す。
【００２１】
【図２Ａ】図２Ａは、１つ以上の実装例に係る、通常消去及び浅い消去の後にプログラムされたメモリセルの閾電圧分布の例を示す。
【００２２】
【図２Ｂ】図２Ｂは、１つ以上の実装例に係る、通常消去及び浅い消去におけるメモリセルの閾電圧分布の例を示す。
【００２３】
【図３Ａ】図３Ａは、１つ以上の実装例に係る、事前読み取り及び追加消去動作を使用してプログラムされたページを有するブロックを効率的に消去するプロセスのフローチャートである。
【００２４】
【図３Ｂ】図３Ｂは、１つ以上の実装例に係る、事前読み取りを使用し、消去検査深度動作を変更してプログラムされたページを有するブロックを効率的に消去するプロセスのフローチャートである。
【００２５】
【図３Ｃ】図３Ｃは、１つ以上の実装例に係る、事前読み取り及び事前プログラム動作を使用してプログラムされたページを有するブロックを効率的に消去するプロセスのフローチャートである。
【発明を実施するための形態】
【００２６】
特定の状況では、ユーザは、メモリのブロック中の少数のページをプログラムし、その後、ブロック全体を消去することがある。しかし、ブロック中の少数のページは低ビットであるため、ブロックはとても容易に消去検査試験を通過しかねない。これは、ブロック中のメモリセルが通常消去状態となるように十分に消去されない、という浅い消去の問題を引き起こす。
【００２７】
本開示の実装例は、少数のプログラムされたページを有するブロックにおける浅い消去の問題を解決するシステム及び技術を提供する。具体的には、新規消去プロセスが使用可能であり、これはブロック中の特定のページ番号を有する閾ページが消去前にプログラムされたかを判定することを含む。例えば、閾ページの消去フラグ等のフラグを事前に読み取ってよい。閾ページのフラグが例えば０などの設定値である場合、それは、閾ページがプログラムされており、ブロックは十分なプログラムされたページを有していて浅い消去の問題を受けないだろうことを示し、消去検査を含む通常ブロック消去動作（又は操作）を実行することができる。一方、閾ページのフラグが例えば１などの異なる値である、つまり設定値でない場合、それは、閾ページがプログラムされておらず、ブロックは十分なプログラムされたページを有さず、通常ブロック消去動作が実行された場合、浅い消去の問題を受けるだろうことを示す。従って、新規消去動作は、ブロックをより深く消去するために、ブロックに対して実行することができる。
【００２８】
いくつかの実装例では、新規消去動作は、通常ブロック消去操作の後の特別消去電圧を有する追加消去パルスを１つ以上含む。特別消去電圧は、通常ブロック消去操作のためのステップ電圧とは異なる、特別増加ステップ電圧を有してよい。特別消去電圧は、例えば経験的結果に基づいて事前に決定される。特別消去電圧は、閾ページのページ番号によって異なる。いくつかの実装例では、新規消去動作は、通常ブロック消去操作の後の複数の追加消去パルスを含む。追加消去パルスは、通常ステップ電圧ずつ増加する消去電圧を有する。
【００２９】
いくつかの実装例では、新規消去動作は、消去検査を伴う通常ブロック消去を実行する前に、深い消去のための消去電圧設定を変更することを含む。例えば、新規消去動作における消去検査電圧は、通常消去検査電圧よりも低い電圧に設定されてよい。新規消去検査電圧は、経験的結果に基づいて決定されてよい。新規消去検査電圧は、閾ページ番号によって異なっていてよい。いくつかの実装例では、新規消去動作は、消去されるビットの量が浅い消去の問題を打ち消すために十分大きくなるように、通常ブロック消去動作の前にブロック（例えばブロック中の全てのページ）を事前プログラムすることを含む。このようにして、ブロックの消去深度は、通常消去検査電圧を有する通常消去によって制御することができる。事前プログラム電圧は、メモリセルが消去状態の閾電圧よりも高い閾電圧を有するようにプログラムされるように選択されてよい。メモリセルが特別プログラム状態にあることを検査するためのプログラム検査は必要ない。
【００３０】
本技術によれば、新規消去動作は普通の状態ではなく、例えば閾ページのフラグを確認することによって、ブロックが少ないプログラムされたページを有すると判定された場合にのみ実行されるため、余計な耐久ロスは起こりえない。さらに、新規消去動作は、少ないプログラムされたメモリセルが、過剰に消去されるのではなく、通常の消去深度を持つように消去されるように追加消去パルス又はより低い消去検査電圧を使用することができる。従って、余計な消去ダメージや消去性能のロスは起こらない。
【００３１】
図１Ａは、データを消去及び／又はプログラムするためのシステム１００の例を示す。システム１００は、装置１１０及びホスト装置１２０を含む。装置１１０は、装置コントローラ１１２及びメモリ１１６を含む。装置コントローラ１１２は、プロセッサ１１３及び内部メモリ１１４を含む。
【００３２】
いくつかの実装例では、装置１１０は、記憶装置である。例えば、装置１００は、セキュアデジタル（ＳＤ）カード、組み込みマルチメディアカード（ｅＭＭＣ）、ソリッドステートドライブ（ＳＳＤ）、又はいくつかの他の好適なストレージであってよい。いくつかの実装例では、装置１１０は、スマートウォッチ、デジタルカメラ、又はメディアプレイヤーである。いくつかの実装例では、装置１１０は、ホスト装置１２０に接続されるクライアント装置である。例えば、装置１１０は、ホスト装置１２０であるデジタルカメラ又はメディアプレイヤーの中にあるＳＤカードである。
【００３３】
装置コントローラ１１２は、汎用マイクロプロセッサ又はアプリケーション専用マイクロコントローラである。いくつかの実装例では、装置コントローラ１１２は、装置１１０用のメモリコントローラである。以下の記述は、装置コントローラ１１２がメモリコントローラである実装例に基づいて、様々な技術を説明する。しかしながら、以下の記述で説明される技術は、装置コントローラ１１２がメモリコントローラ以外の別の種類のコントローラである実装例に対しても適用可能である。
【００３４】
プロセッサ１１３は、指令及びプロセスデータを実行するように構成される。指令は、二次メモリ中にファームウェアコード及び／又は他のプログラムコードとしてそれぞれ保存されるファームウェア指令及び／又は他のプログラム指令を含む。データは、他の好適なデータの中でも、プロセッサによって実行されるファームウェア及び／又は他のプログラムに対応するプログラムデータを含む。いくつかの実装例では、プロセッサ１１３は、汎用マイクロプロセッサ又はアプリケーション専用マイクロコントローラである。プロセッサ１１３は、中央演算処理装置（ＣＰＵ）とも呼ばれる。
【００３５】
プロセッサ１１３は、内部メモリ１１４の指令及びデータにアクセスする。いくつかの実装例では、内部メモリ１１４は、Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＳＲＡＭ）又はＤｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＤＲＡＭ）である。例えば、いくつかの実装例では、装置１１０がｅＭＭＣ、ＳＤカード、又はスマートウォッチである場合、内部メモリ１１４はＳＲＡＭである。いくつかの実装例では、装置１１０がデジタルカメラ又はメディアプレイヤーである場合、内部メモリ１１４はＤＲＡＭである。
【００３６】
いくつかの実装例では、図１Ａに示されるように、内部メモリは装置コントローラ１１２に含まれるキャッシュメモリである。内部メモリ１１４は、プロセッサ１１３によって実行された指令に対応する指令コード、及び／又はランタイム中にプロセッサ１１３に要求されるデータを保存する。
【００３７】
装置コントローラ１１２は、メモリ１１６の指令コード及び／又はデータを内部メモリ１１４へと転送する。いくつかの実装例では、メモリ１１６は、例えばＮＡＮＤフラッシュメモリ装置又は他の好適な不揮発性メモリ装置等の指令及び／又はデータの長期保存用に構成される不揮発性メモリである。メモリ１１６がＮＡＮＤフラッシュメモリである実装例では、装置１１０は例えばフラッシュメモリーカード等のフラッシュメモリ装置であり、装置コントローラ１１２はＮＡＮＤフラッシュコントローラである。例えば、いくつかの実装例では、装置１１０がｅＭＭＣ又はＳＤカードである場合、メモリ１１６はＮＡＮＤフラッシュであり、装置１１０がデジタルカメラである場合、メモリ１１６はＳＤカードであり、装置１１０がメディアプレイヤーである場合、メモリ１１６はハードディスクである。以下の記述では、単に説明のために、メモリ１１６の例としてＮＡＮＤフラッシュメモリを使用する。
【００３８】
図１Ｂは、複数のブロック１１８を含むメモリ１１６の構成の例を示す。メモリ１１６は、２次元（２Ｄ）メモリ又は３次元（３Ｄ）メモリであってよい。
【００３９】
図１Ｃは、メモリ１１６が２Ｄメモリである場合の２次元（２Ｄ）メモリブロック１４０の構成の例である。ブロック１４０は、ブロック１１８であってよい。ブロック１４０は、複数のセルストリング１４４を形成するために行ビット線ＢＬ０、ＢＬ１、．．．、ＢＬｎー１、ＢＬｎに連続して接続され、複数のセルページ１４２を形成するために行ワード線ＷＬ０、ＷＬ１、．．．、ＷＬｎー１、ＷＬｎに連続して接続されるメモリセル１４１を含む。セルストリング１４４は、全てが連続して接続される、複数のメモリセル１４１、ストリング選択トランジスタ（ＳＳＴ）１４３、グランド選択トランジスタ（ＧＳＴ）１４５を含む。ＳＳＴ１４３のゲートは、ストリング選択線（ＳＳＬ）１４６に接続される。異なるストリングにおけるＳＳＴ１４３のゲートは、同じＳＳＬに接続される。メモリセル１４１のゲートは、ワード線ＷＬ０、ＷＬ１、．．．、ＷＬｎー１、ＷＬｎにそれぞれ接続される。メモリセル１４１は、ＧＳＴ１４５を介して共通ソース線（ＣＳＬ）１４９に接続される。ＧＳＴ１４５のゲートは、グランド選択線（ＧＳＬ）１４８に接続される。異なるストリングにおけるＧＳＴ１４５のゲートは、同じＧＳＬに接続される。セルページ１４２は、複数のメモリセル１４１に接続されてよい。セルページ１４２におけるメモリセル１４１のゲートは、各ワード線（ＷＬ）に連続して接続される。ワード線に入力電圧が印加された場合、入力電圧はセルページ１４２におけるメモリセル１４１のゲートにも印加される。読み取り操作中にブロック１４０中の特定のセルページ１４２を読み取るためには、特定のセルページ１４２に対応するワード線により低い電圧が印加される。一方で、ブロック１４０中の他のセルページにより高い電圧が印加される。
【００４０】
装置１１０は、読み取り操作、書き込み操作、及び消去操作を管理するためのフラッシュ変換レイヤ（ＦＴＬ）を含んでよい。ＦＴＬは、例えば内部メモリ１１４等の中の装置コントローラ１１２に保存されてよい。ＦＴＬは、論理ブロック中の論理ページから物理ブロック中の物理ページへのマッピングを保存するｌｏｇｉｃａｌ−ｔｏ−ｐｈｙｓｉｃａｌ（Ｌ２Ｐ）アドレスマッピングテーブルを使用する。
【００４１】
図１Ｄは、メモリ１１６が３Ｄメモリである場合の３Ｄメモリブロック１５０の例を示す。メモリブロック１５０は、ブロック１１８であってよい。メモリセル１５７は、例えばＸＹＺ座標系等の３次元中に配置され、複数のセルページ１５２を形成するために複数のワード線に接続され、複数のセルストリング１５４を形成するために複数のビット線に接続される。セルストリング１５４は、連続して接続される複数のメモリセル１５７を含み、メモリセル１５７はストリング選択線（ＳＳＬ）１５６に接続されるＳＳＴとして構成されてよく、メモリセル１５７はグランド選択線（ＧＳＬ）１５８に接続されるＧＳＴとして構成されてよい。メモリセル１５７は、ＧＳＴを介して共通ソース線（ＣＳＬ）１５９に接続される。
【００４２】
メモリブロック１５０は、例えばＺ方向に沿って垂直に、積層される複数のメモリ層１６０を含んでよい。各メモリ層１６０は、複数のセルページ１５２を含む、例えばＸＹ平面等の２次元平面層であってよい。各セルページ１５２は、個別に読み取り及び／又はプログラムされてよい。読み取り操作においてメモリ層１６０中の特定のセルページ１５２を読み取るために、特定のセルページ１５２に対応するワード線により低い電圧が印加される。より低い電圧は、メモリ層１６０中の他のメモリ層にも印加される。一方で、ブロック１５０中の他のメモリ層にはより高い電圧が印加される。
【００４３】
メモリセルは、プログラム状態又は消去状態にあってよい。例えば、メモリセルがＳＬＣである場合、メモリセルは、プログラム状態「０」へとプログラムされ、消去状態「１」へと消去されてよい。メモリセルが２ビットデータを保存できるＭＬＣである場合、メモリセルは、プログラム状態（０，１）（０，０）、及び（１，０）のいずれかへとプログラムされ、消去状態（１，１）へと消去されてよい。単に説明のために、ＳＬＣはメモリセルとして使用される。
【００４４】
メモリセルは、一度プログラム又は消去されると、それに対応する閾電圧を持つ。閾電圧は、メモリセルの特性である。閾電圧以上の読み取り電圧がメモリセルのゲートに印加されたとき、メモリセルはオンにする。閾電圧未満の読み取り電圧がメモリセルのゲートに印加されたとき、メモリセルはオフになる。読み取り動作は、プログラム又は消去動作ではなく、メモリセルの状態を変化させることを意図しない。
【００４５】
例えば消去状態又はプログラム状態である同じ状態に対応する、ブロック中の複数のメモリセルの閾電圧は、例えば下限電圧と上限電圧の間の範囲にある分布を有してよい。この範囲内にある閾電圧を有するメモリセルは、その対応する状態にあると見なされる。換言すると、状態にあるメモリセルは、範囲内の閾電圧を持つ。例えば、図２Ａに示されるように、メモリセルがＶ１０〜Ｖｈ０の閾電圧を持つ場合、メモリセルは消去状態Ｅにあり、メモリセルがＶ１１〜Ｖｈ１の閾電圧を持つ場合、メモリセルはプログラム状態Ｐにある。曲線２０２及び２０４は、それぞれ、メモリセルの状態Ｅ及びＰの閾電圧分布を示す。
【００４６】
通常プログラム操作中に、メモリセルは、プログラム電圧をメモリセルに印加し、プログラムされたメモリセルがプログラム状態にあるかを検査することによって、例えば消去状態Ｅである消去状態から、例えばプログラム状態Ｐであるプログラム状態へとプログラムされる。検査動作は、メモリセルがプログラム状態へとプログラムされたかを検査するために、プログラム状態Ｐ用の例えばプログラム状態の閾電圧Ｖ１１等の検査電圧を使用してよい。プログラム／検査サイクルは、メモリセルがプログラム状態へとプログラム及び検査されるまで、複数回繰り返されてよい。
【００４７】
通常読み取り操作中に、選択されたメモリセルがオン状態にあるかオフ状態にあるかを判定するために、メモリセルのゲートに接続されるワード線に読み取り電圧が印加されてよい。消去状態Ｅの閾電圧超であり、プログラム状態Ｐの閾電圧未満である読み取り電圧ＶＲｄが印加されたとき、メモリセルは、消去状態である場合はオンになり、プログラム状態である場合はオフになる。
【００４８】
通常消去操作中に、例えばブロック又は他のユニット中のメモリセルは、消去される。いくつかの実装例では、メモリセルは、通常消去操作中に、メモリセルのｐウェル領域を消去電圧へと一定時間上げ、ソース及びビット線がフロートしている間に選択されたブロック又はユニットのワード線（メモリセルのゲートに接続される）を地絡させることによって、消去される。消去電圧は、メモリセルのための閾電圧よりも高くてよい。選択又は消去されなかったブロック又はユニット中では、ワード線はフロートしている。容量性カップリングにより、選択されなかったワード線、ビット線、選択線、及び共通ソース線も、消去電圧のかなりの割合まで上げられ、消去されると選択されなかったブロックの消去を妨げる。消去されると選択されたブロック中では、選択されたメモリセルのトンネル酸化物層に強い電界が印加され、選択されたメモリセルは、例えばファウラー―ノルドハイムトンネルメカニズムによって、フローティングゲートの電子が基板側へと放出されるにつれて消去される。電子がフローティングゲートからｐウェル領域へと転移するにつれて、選択されたメモリセルの閾電圧は減少する。
【００４９】
メモリセルを消去するために消去電圧が印加された後、ブロック又はユニット中のメモリセルは、消去状態になる、あるいはプログラム状態であり続けてよい。図２Ｂの曲線２５２又は２５４に示されるように、メモリセルの閾電圧は分布してよい。その後、例えば図１Ａの装置コントローラ１１２であるコントローラは、消去されたメモリセルが消去状態にあるか否かを検査するために、例えば消去検査電圧ＶＥを印加することによって、消去検査操作を実行してよい。そのメモリセルの閾電圧がＶＥ未満である場合、コントローラは、メモリセルは適切に消去されて消去状態にあると判定することができる。ＶＥ超の閾電圧を有するメモリセルの数（又はビット数あるいはストリング数）が閾値（例えば３、４、又は５）未満であるとコントローラが判定した場合、コントローラは、ブロックは消去検査試験を通過し、さらなるブロックの消去は必要ないと判定する。
【００５０】
ＶＥ超の閾電圧を有するメモリセルの数が閾値以上であるとコントローラが判定した場合、コントロールは、ブロックは消去検査試験を通過せず、さらなる消去が必要であると判定する。通常消去操作では、コントローラは、消去電圧をステップ電圧分増加させ、メモリセルを消去するために増加した消去電圧を印加し、再び検査を行う。ステップ電圧は固定されてよく、例えば１ボルト（Ｖ）である。通常消去操作では、消去−検査サイクルは、ＶＥ超の閾電圧を有するメモリセルの数が閾値未満となるまで複数回（例えば３、４、又は５回）繰り返されてよい。
【００５１】
図２Ｂの曲線２５２は、通常消去操作の後のブロック中のメモリセルの閾電圧の分布を示す。ブロックは、十分な数のプログラムされたページを有し、その結果、ＶＥ超の閾電圧を有するメモリセルの数が閾値未満であり、ブロックが消去検査を通過し、メモリセルは、Ｖ０が中央値である閾電圧分布の通常消去状態へと消去される。
【００５２】
図２Ｂの曲線２５４は、通常消去操作の後の少ないプログラムされたページ（例えば５ページ未満）を有するブロック中のメモリセルの閾電圧の分布を示す。十分な数のプログラムされたページを有するブロックよりもブロック中のプログラムされたメモリセルの数が少ないため、このブロックは、ＶＥ超の閾電圧を有するブロック中のメモリセルの数が閾値未満であり、消去検査を通過する可能性がより高い。しかしながら、曲線２５４の中央閾電圧Ｖ１は、曲線２５２の中央閾電圧Ｖ０より大きく、曲線２５４の閾電圧の分布は、曲線２５２の閾電圧の分布より高い方へシフトしている。すなわち、ブロック中のメモリセルは、浅い消去を受け、通常消去状態にならない。ブロックが再プログラム及び再読取りされるとき、浅い消去を受けたメモリセルは、図２Ａの曲線２０２’及び２０４に示される閾電圧分布を有しうる。浅い消去状態Ｅ’のメモリセルは、Ｖ１０’にシフトされた低い閾電圧及びＶｈ０’にシフトされた高い閾電圧を有しうる。
【００５３】
いくつかの場合では、コントローラは、消去の前にブロックを事前プログラムしてよい。しかしながら、浅い消去の問題を回避するために、ブロックは十分なプログラムされたページを有してブロックを事前プログラムする必要がなくてもよい。従って、事前プログラムは、ブロックの耐久を不必要に劣化させうる。
【００５４】
いくつかの場合では、コントローラは、いかなるブロックをも消去するために、消去検査電圧を低く変更してよい。十分なプログラムされたページを有するブロックは、より深い消去を受けてよい。従って、消化検査電圧の変更は、サイクル中に余計なストレスがかかることによるブロックの耐久の劣化が起こりうる。
【００５５】
ブロックがプログラムされると、ブロック中のページは順番にプログラムされる。例えば、ブロックはＮのページ番号を有する。データは、ページ０、ページ１、ページ２、．．．、ページＸへと順番にプログラムされ、Ｘは０≦Ｘ≦Ｎ−１である。ページがプログラムされたとき、ページがプログラムされたことを示すフラグが、ページにプログラムされたデータと共にメモリに書き込まれてよい。例えば、フラグは、ページ又はメモリの余剰領域に保存されてよい。フラグは、消去フラグであってよい。消去フラグが例えば０である第１の値を有する場合、それはページがプログラムされていることを示し、消去フラグが例えば１である第１の値とは異なる第２の値を有する場合、それはページがプログラムされていないこと、またはプログラムされる準備ができていることを示す。
【００５６】
本開示の実装例は、ブロック中の特定のページ番号Ｘを有する事前に判定された閾ページがプログラムされているか否かを確認することによって、ブロックが少ないプログラムされたページを有し、浅い消去の問題を受けうるかを判定可能にする。例えば、コントローラは、事前に判定された閾ページの消去フラグを確認してよい。消去フラグが０である場合、それは閾ページがプログラムされており、少なくともＸ＋１の数のページがプログラムされていることを示す。コントローラは、ブロックは十分にプログラムされたページを有し、通常消去動作によってブロックを消去しても浅い消去の問題が回避可能であると判定してよい。消去フラグが１である場合、それは閾ページがプログラムされておらず、最大でＸの数のページがプログラムされていることを示す。コントローラは、ブロックは少ないプログラムされたページを有し、通常消去動作によってブロックを消去すると浅い消去の問題が発生すると判定してよい。従って、コントローラは、ブロックを消去するために、新規消去動作を実行することができる。新の消去動作は、ブロックが浅い消去の問題を受けないように、通常消去動作よりも深くブロックを消去するように構成される。
【００５７】
図３Ａ−Ｃは、１つ以上の実装例に係る、プログラムされたページを有するブロックを消去するための消去動作の例を示す。消去動作は、例えば図１Ａの装置コントローラ１１２又は図１Ａのホスト装置１２０のコントローラであるコントローラによって実行されてよい。コントローラは、ブロック用の一般消去指令を受け取ってよい。コントローラは、ブロックが少ないプログラムされたページを有するか否かを判定することで、ブロックに通常消去動作を行うか、新規消去動作を行うかを判定する。ブロックが十分なプログラムされたページを有していると判定された場合、コントローラは、ブロックは通常消去動作によって消去されると判定する。ブロックが少ないプログラムされたページを有すると判定された場合、コントローラは、ブロックは新規消去動作によって消去されると判定する。
【００５８】
図３Ａは、１つ以上の実装例に係る、事前読み取り及び追加消去動作を使用してプログラムされたページを有するブロックを効率的に消去するプロセス３００のフローチャートである。
【００５９】
ブロック中のページは、プログラムされている（３０２）。各ページは、ブロック中にそれぞれページ番号を有する。データは、ブロック中のページに順番にプログラムされる。上述の通り、ブロックがページ番号０〜６３の６４個のページを有する場合、データは、ページ０、ページ１、ページ２、．．．、ページＰへと順番にプログラムされ、Ｐは０≦Ｘ≦６３である。
【００６０】
閾ページの消去フラグは、事前読み取りされる（３０４）。閾ページは、ページ番号Ｘを有する。ページ番号Ｘは、例えば経験的結果に基づいて、事前決定される。例えば、（０〜Ｘ−１のページ番号を有する）Ｘ個のプログラムされたページを有するブロックが通常消去動作で消去された後、ブロックは、例えば図２Ａ’の曲線２０２’に示されるように、浅い消去の効果を示す。一方で、（０〜Ｘのページ番号）Ｘ＋１個のプログラムされたページを有するブロックは、通常消去動作の後でも浅い消去の効果を示さない。従って、ページ番号Ｘは閾値と決定されてよく、ページ番号Ｘを有するページはブロック中の閾ページである。
【００６１】
コントローラは、消去フラグが１であるか否かを判定する（３０６）。上述したように、消去フラグが１でない場合、すなわち、０である場合、それは閾ページがプログラムされていることを示す。従って、コントローラは、浅い消去の問題のリスクが低い状態で、通常消去動作によってブロックが消去されるために十分なプログラムされたページをブロックが有すると判定する。
【００６２】
消去フラグが１と同一でないと判定された場合、コントローラは、消去検査を含む通常消去動作によるブロックの消去へと進む（３０８）。上述したように、通常消去動作では、ブロックは、通常消去検査電圧ＥＶ以上の閾電圧をそれぞれ有するメモリセル（又はビット数）の数が閾値より小さくなるまで、消去及び検査サイクルを繰り返すことによって、消去される。複数のサイクルでは、消去パルス（又はショット）の消去電圧は、例えばサイクルあたり１Ｖ等のステップ電圧によって増加され、消去検査電圧ＥＶは固定される。
【００６３】
消去フラグが１と同一である場合、それは閾ページがプログラムされておらず、ブロック中にプログラムされたページが最大でＸ個存在することを示す。すなわち、コントローラは、ブロックは少ないプログラムされたページを有し、ブロックが通常消去動作で消去されると浅い消去の問題が発生するリスクがあると判定する。従って、コントローラは、新規消去動作３１０を実行するよう判定してよい。
【００６４】
新規消去動作３１０において、コントローラは、最初に、消去検査を含む通常消去動作によってブロックを消去する（３２０）。ステップ３２０は、ステップ３０８と同一であってよい。ステップ３２０の後、コントローラは、新規消去電圧を有する追加消去パルスを追加してよい（３２２）。新規消去電圧Ｖｎｅｗは、通常消去動作の最後の消去電圧Ｖｌａｓｔよりも追加電圧ΔＶ分大きい、すなわちＶｎｅｗ＝Ｖｌａｓｔ＋ΔＶである。追加ΔＶは、通常消去動作の固定ステップ電圧と同じ又は異なっていてよい。追加電圧ΔＶは、閾ページのページ番号Ｘに関係してよい。追加電圧ΔＶは、経験的結果に基づいて決定されてよい。例えば、Ｘ個のプログラムされたページを有する複数のブロックは、最初に通常消去動作で消去され、次に新規消去電圧Ｖｎｅｗで消去される。追加電圧ΔＶは、ブロックが浅い消去の問題を示さなくなるまで調節されてよい。いくつかの場合では、コントローラは、異なる追加電圧ΔＶを有する２つ以上の追加消去パルスを追加してよい。
【００６５】
あるいは、ステップ３２０の後、コントローラは、追加の複数のショットを追加してよい（３２２ａ）。いくつかの場合では、各追加のショット（又はパルス）は、先の消去電圧よりも、例えば１Ｖである通常消去操作の固定ステップ電圧分増加された消去電圧を有する。すなわち、追加のショットは、サイクルあたりの固定ステップ電圧を含む同じ消去設定によって通常消去操作を続ける。複数のショットの数は、閾ページのページ番号Ｘに関係し、経験的結果に基づいて決定されてよい。例えば、Ｘ個のプログラムされたページを有するブロックは、最初に通常消去動作で消去され、次に追加のショットで消去される。追加のショットの数は、ブロックが浅い消去の問題を示さなくなるまで調節されてよい。
【００６６】
ステップ３２０において、通常消去操作の後、ブロックは消去検査を通過することが留意される。ステップ３２２又はステップ３２２ａにおいて、消去検査は実行されない。また、ブロックがさらに消去され、消去検査電圧ＶＥ超の閾電圧を有するメモリセルの数も減少したため、消去検査試験を実行する必要がない。ブロックは、ステップ３２２又は３２２ａの追加消去の後では、消去検査試験を確実に通過する。
【００６７】
ステップ３０８又は３１０の後、プロセス３００は、ブロックが通常プログラム動作に従ってプログラムされるステップ３１２へと進む。次に、ブロックは、通常読み取り動作によって読み取られる（３１４）。いくつかの場合では、例えば図２Ａに示されるように、読み取り動作によってブロック中のメモリセル（又はビット）の閾電圧の分布が取得される。ブロックが浅い消去の効果の問題を示すかは、取得されたブロック中のメモリセルの閾電圧の分布に基づいて判定されてよい。
【００６８】
図３Ｂは、１つ以上の実装例に係る、事前読み取りを使用し、消去検査深度動作を変更してプログラムされたページを有するブロックを効率的に消去する別のプロセス３３０のフローチャートである。プロセス３３０におけるステップは、ステップ３３２を除いて、図３Ａのプロセス３００におけるステップと同じである。
【００６９】
閾ページの消去フラグが１と同一であると判定された場合、消去ステップ３０８を実行する前に、コントローラは、消去検査操作のための消去検査電圧を、事前決定された電圧から例えばより低い電圧等の調節された電圧へと変更する。例えば、消去検査電圧ＶＥがより低い（又はより深い）状態、例えば０．３Ｖから０．２Ｖ、へと変更された場合、０．３Ｖである高い消去検査電圧による消去検査を通過するブロックは、０．２である低い消去検査電圧による消去検査を通過できない。従って、ステップ３０８では、ブロックは、低い消去検査電圧による消去検査を通過するまで、一回以上消去されなければならない。このようにして、浅い消去の問題を除去するために、追加消去がブロックに実行される。一方で、ステップ３３２が実行されない場合、ステップ３０８においては、事前決定された電圧が消去検査電圧として使用される。
【００７０】
変更された消去検査電圧は、閾ページのページ番号Ｘと関係してよい。変更された消去検査電圧は、経験的結果に基づいて決定されてよい。例えば、Ｘ個のプログラムされたページを有するブロックは、通常消去操作において変更された消去検査電圧によって消去される。消去検査電圧値は、ブロックが浅い消去の問題を示さなくなるまで調節されてよい。
【００７１】
図３Ｃは、１つ以上の実装例に係る、事前読み取り及び事前プログラム動作を使用してプログラムされたページを有するブロックを効率的に消去するさらなるプロセス３５０のフローチャートである。プロセス３５０におけるステップは、ステップ３５２を除いて、図３Ａのプロセス３００におけるステップと同じである。
【００７２】
閾ページの消去フラグが１と同一であると判定された場合、消去ステップ３０８を実行する前に、コントローラは、ブロックに事前プログラムを実行する。例えば、ブロックは、プログラム電圧を有するプログラムパルスを印加することによって、事前プログラムされてよい。ブロック中の全てのページは、ステップ３５２において、ブロックが消去の前に十分なプログラムされたページ又はプログラムされたビットを有するように、事前プログラムされてよい。ステップ３５２は、メモリセルが特別プログラム状態へとプログラムされているかの検査を含まない。代わりに、プログラムパルスのみがブロックへと印加される。プログラム電圧は、閾電圧のページ番号Ｘに関係してよい。プログラム電圧は、経験的結果に基づいて決定されてよい。
【００７３】
いくつかの実装例では、２つ以上の閾ページが、ブロックのために事前決定されてよい。例えば、ブロックは６４のページを有し、ページ５及び１０が閾ページとして決定されてよい。コントローラは、最初に、例えばページ１０である大きいページ番号を有する第１の閾ページの消去フラグを読み取る。第１の閾ページの消去フラグが１でない場合、コントローラは、ブロックは十分にプログラムされたページを有し、通常消去動作によって消去することができると判定する。第１の閾ページの消去フラグが１である場合、コントローラは、続いて、例えばページ５である小さいページ番号を有する第２の閾ページの消去フラグを事前読み取りする。
【００７４】
第２の閾ページの消去フラグが１でない場合、コントローラは、ブロックはページ６〜１０である大きいページ番号と小さいページ番号との間の値のプログラムされたページを有すると判定する。ブロックは、通常消去動作とは異なる第１の消去動作によって消去することができる。図３Ａ〜Ｃに示されるように、第１の消去動作は、異なる追加電圧を有する追加パルス、又は追加の複数のショットを追加すること、消去検査電圧を変更すること、あるいはブロックを事前プログラムすることを含んでよい。上述の方法と同じように、第１の消去動作は、経験的結果に基づいて決定されてよい。
【００７５】
第２の閾ページの消去フラグが１である場合、コントローラは、ブロックは例えば最大で５個のページである少ないプログラムされたページを有すると判定する。ブロックは、第１の消去動作及び通常消去動作とは異なる第２の消去動作によって消去されてよい。図３Ａ〜Ｃに示されるように、第１の消去動作は、異なる追加電圧を有する追加パルス、又は追加の複数のショットを追加すること、消去検査電圧を変更すること、あるいはブロックを事前プログラムすることを含んでよい。上述の方法と同じように、第２の消去動作は、経験的結果に基づいて決定されてよい。第２の消去動作は、プログラムされたページの数が小さいため、第１の消去動作よりも深くブロックを消去する。
【００７６】
開示された例及びその他の例は、例えばデータ処理機器による実行のため又はその操作の制御のためのコンピュータ読み取り可能媒体にエンコードされたコンピュータプログラム指令の１つ以上のモジュールである、１つ以上のコンピュータプログラムプロダクトとして実装されてよい。コンピュータ読み取り可能媒体は、機械読み取り可能記憶装置、機械読み取り可能記憶基板、記憶装置、又はそれらの１つ以上の組み合わせであってよい。「データ処理機器」の単語は、例としてプログラマブルプロセッサ、コンピュータ、又は複数のプロセッサあるいはコンピュータを含む、データ処理用の機器、装置、及び機械の全てを包含する。機器は、ハードウェアに加えて、プロセッサファームウェアを構築するコード等の問題のコンピュータプログラム用の実行環境を作成するコード、例えば、プロトコルスタック、データベース管理システム、オペレーティングシステム、又はそれらの１つ以上の組み合わせを構成するコード含んでよい。
【００７７】
システムは、例としてプログラマブルプロセッサ、コンピュータ、又は複数のプロセッサあるいはコンピュータを含む、データ処理用の機器、装置、及び機械の全てを包含する。システムは、ハードウェアに加えて、プロセッサファームウェアを構築するコード等の課題のコンピュータプログラム用の実行環境を作成するコード、例えば、プロトコルスタック、データベース管理システム、オペレーティングシステム、又はそれらの１つ以上の組み合わせを構成するコード含んでよい。
【００７８】
（プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、又はコードとしても知られる）コンピュータプログラムは、コンパイル又はインタープリタ型言語を含むあらゆる形態のプログラミング言語で書かれてもよく、スタンドアロンプログラム、又はコンピュータ環境における使用に好適なモジュール、コンポーネント、サブルーチン、あるいは他のユニットを含む、あらゆる形態で展開されてよい。コンピュータプログラムは、ファイルシステム中のファイルに必ずしも対応する必要はない。プログラムは、他のプログラム又はデータを保持するファイルの一部（例えばマークアップ言語ドキュメントに保存される１つ以上のスクリプト）、問題のプログラム専用の単一ファイル、複数の調製ファイル（例えばモジュール、サブプログラム、又コードの一部の１つ以上を保存するファイル）に保存されてよい。コンピュータプログラムは、１つの場所に配置又は複数の場所に分散配置され、通信ネットワークで接続される１つのコンピュータあるいは複数のコンピュータにおいて実行するために展開されてよい。
【００７９】
本明細書において説明されるプロセス及び論理フローは、本明細書に説明される機能を実行するために、１つ以上のコンピュータプログラムを実行する１つ以上のプログラマブルプロセッサによって実行されてよい。また、例えばＦＰＧＡ（フィールドプログラマブルゲートアレイ）又はＡＳＩＣ（アプリケーション専用集積回路）等の専用論理回路は、プロセス及び論理フローを実行してよく、機器として実装されてもよい。
【００８０】
コンピュータプログラムの実行に好適なプロセッサは、例として、汎用及び専用マイクロプロセッサの両方、及びあらゆる種類のデジタルコンピュータの１つ以上のプロセッサの全てを含む。一般的に、プロセッサは、リードオンリメモリ又はランダムアクセスメモリ、あるいはその両方から指令及びデータを受け取る。コンピュータの必須要素は、指令を実行するプロセッサと、指令及びデータを保存する記憶装置とを含む。一般的に、コンピュータは、さらに、例えば磁気、光磁気、又は光ディスク等のデータを保存する１つ以上の大容量保存装置を、含むあるいはデータを送受信するために操作可能に接続される。しかしながら、コンピュータは、そのような装置を含まなくてもよい。コンピュータプログラム指令及びデータを保存するために好適なコンピュータ読み取り可能媒体は、例として、ＥＰＲＯＭ、ＥＥＰＲＯＭ等の半導体記憶装置、フラッシュメモリ装置、及び磁気ディスクを含むあらゆる形態の不揮発性メモリ、メディア、及び記憶装置を含む。プロセッサは及びメモリは、専用論理回路に補助される又は組み込まれてよい。
【００８１】
本明細書はいくつかの具体例を説明するが、それらは本発明の特許請求の範囲を限定するものではなく、むしろ特定の実施の形態を具体的に説明するものと解釈されるべきである。本明細書において異なる実施の形態として説明される特定の特徴は、１つの実施の形態において組み合わされて実装されてもよい。一方で、１つの実施の形態において説明される様々な特徴は、個別の実施の形態において実装されてもよく、又はあらゆる好適な組み合わせで実装されてもよい。さらに、複数の特徴が特定の組み合わせとして上述され、また請求されているが、それらの特徴の１つ以上は、いくつかの場合のおいて組み合わせから除外されていてもよく、請求される組み合わせはそのような組み合わせの種々を含む。同様に、複数の操作は、図において特定の順番で描かれているが、これらの操作は、望まし結果を達成するために、特定の順番又は連続する順番で実行されること、又は全ての図示される操作が実行されることを必要とするものではないと理解されるべきである。
【００８２】
本明細書では、少数の例及び実装例のみが開示される。これらの記述される例及び実装例ならびに他の実装例に対する変更、変形、及び改良は、本開示に基づいて行われてよい。
【図１Ａ】
2020187816.tif 000003
【図１Ｂ】
2020187816.tif 000004
【図１Ｃ】
2020187816.tif 000005
【図１Ｄ】
2020187816.tif 000006
【図２Ａ】
2020187816.tif 000007
【図２Ｂ】
2020187816.tif 000008
【図３Ａ】
2020187816.tif 000009
【図３Ｂ】
2020187816.tif 000010
【図３Ｃ】
2020187816.tif 000011
【外国語明細書】
2020187816000001.pdf