説明

不揮発性半導体記憶装置

【課題】 各ブロックへのアクセス状況に関わらず、メモリアレイに対して良好にデータ書込、読込、および消去を実行できる不揮発性半導体記憶装置を提供する。
【解決手段】 第1検出部41は、不良セルを含むブロックを先天性不良ブロックとして検出する。第2検出部42は、検出された先天性不良ブロック以外の各ブロックについてデータ書込時間を計測するとともに、計測されたデータ書込時間に基づいて選択されたブロックを、将来的に後天性不良ブロックとなるおそれのあるブロックとして検出する。登録部45は、検出された先天性および後天性不良ブロックに関する情報を、各ブロック毎に不良ブロック情報としてブロック情報格納テーブル51aに登録する。メモリ制御部20は、予め診断部40によりブロック情報格納テーブル51aに登録された不良ブロック情報を参照することにより、先天性および後天性不良ブロックをアクセス対象ブロックから除外する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、不揮発性半導体記憶装置に関するもので、特に、不良ブロックに対する処理の改良に関する。
【背景技術】
【0002】
不揮発性半導体記憶装置において、各メモリセルの情報消去に基づいて各メモリセルの劣化状況を判断する技術が、従来より知られている(例えば、特許文献1)。また、特許文献1には、劣化していると判断されるメモリセルに対して施すことにより、この劣化の進行を抑制する技術も開示されている。
【0003】
また、不揮発性メモリセルの書込特性/消去特性が劣化した場合に、その劣化したメモリセルを冗長用のメモリセル、または、メモリセルブロックと置換する技術についても、従来より知られている(例えば、特許文献2)。
【0004】
【特許文献1】特開2002−208286号公報
【特許文献2】特開2002−074978号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
したがって、特許文献1および2の技術では、使用時にメモリセルの劣化状況を監視する処理が必要となる。その結果、不揮発性半導体記憶装置の処理負担が増大するという問題が生じていた。
【0006】
そこで、本発明では、各ブロックへのアクセス状況に関わらず、メモリアレイに対して良好にデータ書込、データ読込、およびデータ消去を実行できる不揮発性半導体記憶装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記の課題を解決するため、請求項1の発明は、複数のブロックに分割されたメモリアレイと、前記メモリアレイに含まれる各ブロックへのアクセス状況を診断することにより、前記複数のブロックから不良ブロックを検出する診断部と、前記不良ブロックに関する情報が格納されるブロック情報格納テーブルと、各ブロックへのアクセス処理を実行するメモリ制御部とを備え、前記メモリアレイは、データを記憶する複数のセルを有しており、前記診断部は、不良セルを含む第1ブロックを先天性不良ブロックとして検出する第1検出部と、前記先天性不良ブロック以外の各ブロックについてアクセス状況の指標値を求めるとともに、該指標値に基づいて選択された第2ブロックを後天性不良ブロックとして検出する第2検出部と、前記第1および第2検出部によって検出された前記先天性不良ブロックおよび前記後天性不良ブロックに関する情報を、各ブロック毎に不良ブロック情報として前記ブロック情報格納テーブルに登録する登録部とを有し、前記メモリ制御部は、予め前記診断部により前記ブロック情報格納テーブルに登録された前記不良ブロック情報に基づいて、前記先天性不良ブロックおよび前記後天性不良ブロックをアクセス対象ブロックから除外することを特徴とする。
【0008】
また、請求項2の発明は、請求項1に記載の不揮発性半導体記憶装置において、前記ブロック情報格納テーブルに格納可能な前記不良ブロック情報の個数は、前記複数のブロックの総数に応じた所定数以下であることを特徴とする。
【0009】
また、請求項3の発明は、複数のブロックに分割されたメモリアレイと、前記メモリアレイに含まれる各ブロックへのアクセス状況を診断する診断部と、前記複数のブロックのうち、前記診断部の診断結果に応じて選択されたブロックについて、該ブロックに関する情報が格納されるブロック情報格納テーブルと、各ブロックへのアクセス処理を実行するメモリ制御部とを備え、前記メモリアレイは、データを記憶する複数のセルを有しており、前記診断部は、不良セルを含む第1ブロックを不良ブロックとして検出する第1検出部と、前記不良ブロック以外の各ブロックについてアクセス状況の指標値を求めるとともに、該指標値に基づいて選択された第2ブロックをリフレッシュ対象ブロックとして検出する第2検出部と、前記第1検出部によって検出された前記不良ブロックに関する情報を不良ブロック情報として、前記第2検出部によって検出された前記リフレッシュ対象ブロックに関する情報をリフレッシュ対象ブロック情報として、それぞれ前記ブロック情報格納テーブルに登録する登録部とを有し、前記メモリ制御部は、予め前記診断部により前記ブロック情報格納テーブルに登録された前記不良ブロック情報および前記リフレッシュ対象ブロックに基づいて、前記不良ブロックをアクセス対象ブロックから除外し、前記リフレッシュ対象ブロックにリフレッシュ処理を実行することを特徴とする。
【0010】
また、請求項4の発明は、請求項3に記載の不揮発性半導体記憶装置において、前記ブロック情報格納テーブルに格納可能な前記不良ブロック情報の個数と、前記リフレッシュ対象ブロック情報の個数と、の総計は、前記複数のブロックの総数に応じた所定数以下であることを特徴とする。
【0011】
また、請求項5の発明は、請求項1ないし請求項4のいずれかに記載の不揮発性半導体記憶装置において、前記指標値は、前記メモリ制御部により各ブロックに対して実行されるデータ書込の時間であり、前記第2検出部は、前記指標値が大きいブロックから順番に前記第2ブロックとして選択することを特徴とする。
【0012】
また、請求項6の発明は、請求項5に記載の不揮発性半導体記憶装置において、各ブロックは、複数のページを有しており、前記メモリ制御部は、ページ単位にデータの書込処理を実行し、前記第2検出部は、書込対象ブロックに含まれる各ページのデータ書込時間の総計を前記指標値として使用することを特徴とする。
【0013】
また、請求項7の発明は、請求項5に記載の不揮発性半導体記憶装置において、各ブロックは、複数のページを有しており、前記メモリ制御部は、ページ単位にデータの書込処理を実行し、前記第2検出部は、ブロックに含まれる各ページのデータ書込時間のうち最大となる時間を前記指標値として使用することを特徴とする。
【0014】
また、請求項8の発明は、請求項1ないし請求項4のいずれかに記載の不揮発性半導体記憶装置において、前記指標値は、前記メモリ制御部により各ブロックに対して実行されるデータ消去の時間であり、前記第2検出部は、前記指標値が大きいブロックから順番に前記第2ブロックとして選択することを特徴とする。
【0015】
また、請求項9の発明は、請求項1ないし請求項4のいずれかに記載の不揮発性半導体記憶装置において、前記指標値は、前記メモリ制御部により各ブロックに対して実行されるデータ消去の時間とデータ書込の時間とを総計したものであり、前記第2検出部は、前記指標値が大きいブロックから順番に前記第2ブロックとして選択することを特徴とする。
【0016】
また、請求項10の発明は、複数のブロックに分割されたメモリアレイと、前記メモリアレイに含まれる各ブロックへのアクセス状況を診断する診断部と、前記複数のブロックのうち、前記診断部の診断結果に応じて選択されたブロックについて、該ブロックに関する情報が格納されるブロック情報格納テーブルと、前記複数のブロックへのアクセス処理を実行するメモリ制御部とを備え、前記メモリアレイは、データを記憶する複数のセルを有しており、前記診断部は、不良セルを含む第1ブロックを先天性不良ブロックとして検出する第1検出部と、前記先天性不良ブロック以外の各ブロックについて、アクセス状況の指標値を求めるとともに、該指標値が第1範囲となる第2ブロックを後天性不良ブロックとして検出し、該指標値が第2範囲となり前記第2ブロックと比較してアクセス状況が良好な第3ブロックをリフレッシュ対象ブロックとして検出する第2検出部と、前記第1および第2検出部によって検出された前記先天性不良ブロックおよび前記後天性不良ブロックに関する情報を不良ブロック情報として、前記第2検出部によって検出された前記リフレッシュ対象ブロックに関する情報をリフレッシュ対象ブロック情報として、それぞれ前記ブロック情報格納テーブルに登録する登録部とを有し、前記メモリ制御部は、予め前記診断部により前記ブロック情報格納テーブルに登録された前記不良ブロック情報および前記リフレッシュ対象ブロックに基づいて、前記先天性不良ブロックおよび前記後天性不良ブロックをアクセス対象ブロックから除外し、前記リフレッシュ対象ブロックにリフレッシュ処理を実行することを特徴とする。
【発明の効果】
【0017】
請求項1、請求項2、および、請求項5ないし請求項10に記載の発明によれば、診断部は、すでに不良セルを有する先天性不良ブロックを検出するだけでなく、将来的に不良ブロックとなるおそれのある後天性不良ブロックをも、アクセス状況の指標値に基づいて検出することができる。これにより、先天性不良ブロックだけでなく後天性不良ブロックとなるおそれのあるブロックについても、メモリ制御部のアクセス対象ブロックから除外することができる。そのため、装置使用中にアクセス対象から後天性不良ブロックを除外する機能およびこの機能を実現するハードウェア(回路)が不要となり、不揮発性半導体記憶装置の構成を簡略化させることができる。
【0018】
また、請求項1、請求項2、および、請求項5ないし請求項10に記載の発明によれば、後天性不良ブロックとなるおそれのあるブロックはアクセス対象から除外されている。これにより、後天性不良ブロックが発生したか否かを検出するための処理が不要となるため、不揮発性半導体記憶装置の処理負担を軽減させることができる。
【0019】
また、請求項3ないし請求項10に記載の発明によれば、同一ブロックに対して繰り返しデータ読込が行われることにより、記憶されているデータの劣化が発生してデータの読込エラーが発生するおそれのあるブロックを、リフレッシュ対象ブロックとして選択することができる。すなわち、この選択されたリフレッシュ対象ブロックをリフレッシュ処理の対象とすることができる。そのため、各ブロックでデータ読込エラーが発生することを未然に防止することができる。
【0020】
特に、請求項2および請求項4に記載の発明によれば、ブロック情報格納テーブルの容量を可変値でなく一定値とすることができる。そのため、ブロック情報格納テーブルのハードウェア構成を容易にすることができる。
【0021】
特に、請求項5に記載の発明によれば、各ブロックのデータ書込に要する時間が指標値として使用されている。ここで、将来的に後天性不良ブロックとなるおそれのあるブロックについては、データ書込時間が増大する傾向にあることが知られている。
【0022】
したがって、データ書込時間が長いブロックから順番に選択することにより、後天性不良ブロックとなるおそれのあるブロックを確実に検出することができる。そのため、選択された第2ブロックをメモリ制御部によるアクセス対象ブロックから確実に除外することができる。または、将来的に後天性不良ブロックとなるおそれのあるブロックであり、かつ、データの読込エラーが発生するおそれのあるブロックを、リフレッシュ対象ブロックとして選択し、リフレッシュ処理の対象とすることができる。
【0023】
特に、請求項6に記載の発明によれば、各ブロック全体のデータ書込時間を指標値として使用することができる。また、請求項7に記載の発明によれば、ブロックに含まれる各ページのデータ書込時間のうち最大となる時間を指標値として使用することができる。そのため、後天性不良ブロックとなるおそれのあるブロック、またはリフレッシュ対象ブロックを確実に検出することができる。
【0024】
特に、請求項8に記載の発明によれば、各ブロックのデータ消去に要する時間が指標値として使用されている。ここで、将来的に後天性不良ブロックとなるおそれのあるブロックについては、データ消去時間が増大する傾向にあることが知られている。したがって、データ消去時間が長いブロックから順番に選択することにより、後天性不良ブロックとなるおそれのあるブロックを確実に検出することができる。そのため、選択された第2ブロックをメモリ制御部によるアクセス対象ブロックから確実に除外することができる。または、将来的に後天性不良ブロックとなるおそれのあるブロックであり、かつ、データの読込エラーが発生するおそれのあるブロックを、リフレッシュ対象ブロックとして選択し、リフレッシュ処理の対象とすることができる。
【0025】
特に、請求項9に記載の発明によれば、各ブロックのデータ消去およびデータ書込に要する時間を総計したものが指標値として使用されている。したがって、この指標値が大きいブロックから順番に選択することにより、後天性不良ブロックとなるおそれのあるブロックを確実に検出することができる。そのため、選択された第2ブロックをメモリ制御部によるアクセス対象ブロックから確実に除外し、または、選択された第2ブロックをリフレッシュ処理の対象とすることができる。
【発明を実施するための最良の形態】
【0026】
以下、図面を参照しつつ本発明の実施の形態について詳細に説明する。
【0027】
<1.第1の実施の形態>
<1.1.情報処理システムの構成>
図1は、本実施の形態における情報処理システム1および不揮発性半導体記憶装置10の全体構成の一例を示す図である。情報処理システム1は、プログラムにしたがった演算処理を実行する機器である。例えば、携帯電話およびPDA(Personal Digital Assistants)のような携帯情報端末、デジタルカメラやデジタルビデオのような映像機器、またはパーソナルコンピュータやワークステーション等の情報処理装置が、情報処理システム1に該当する。図1に示すように、情報処理システム1は、主として、不揮発性半導体記憶装置10と、CPU91と、RAM92と、を有している。
【0028】
不揮発性半導体記憶装置10は、例えばNAND型フラッシュメモリやNOR型フラッシュメモリのように、読み書き自在であり、電源供給が切断されても記憶された内容が消えない不揮発性メモリである。
【0029】
ここで、不揮発性半導体記憶装置10には、CPU91に対する命令を記述したプログラムが格納されてもよいし、CPU91での演算に使用されるデータが格納されてもよい。また、不揮発性半導体記憶装置10の形態としては、情報処理システム1に対して着脱可能とされた形態(例えば、カード型にパーケージされたもの)であってもよいし、半田等によって情報処理システム1に対して固定された形態であってもよい。なお、不揮発性半導体記憶装置10の詳細については、後述する。
【0030】
CPU(Central Processing Unit)91は、プログラムに従った制御やデータの演算・加工を実行する。また、RAM(Random Access Memory )92は、読み書き自在の揮発性メモリであり、例えば、CPU91での演算・加工に使用されるデータが格納される。さらに、不揮発性半導体記憶装置10、CPU91、およびRAM92のそれぞれは、バスライン95を介して電気的に接続されている。したがって、CPU91は、例えば不揮発性半導体記憶装置10に対するデータ書込やデータ消去等を、所定のタイミングで実行することができる。
【0031】
<1.2.不揮発性半導体記憶装置の構成>
ここでは、不揮発性半導体記憶装置10のハードウェア構成について説明する。図1に示すように、不揮発性半導体記憶装置10は、主として、メモリアレイ15と、メモリ制御部20と、ホストインタフェース30と、診断部40と、第1格納部51と、第2格納部52と、を備えている。
【0032】
図2は、メモリアレイ15の論理構成を説明するための図である。メモリアレイ15は、データ記憶の最小単位である複数のセル(記憶素子:図示省略)を有しており、図1および図2に示すように、メモリアレイ15は、複数のブロックBLに分割されている。また、図2に示すように、各ブロックBLは、複数のページPGに分割されており、各ページPGは、複数のセルによって構成されている。なお、各セルの記憶容量は、1ビットであってもよいし、多ビット(2ビット以上)であってもよい。
【0033】
メモリ制御部20は、各ブロックへのアクセス処理(データ書込処理、データ読込処理、およびデータ消去処理等)の実行を制御するコントローラである。メモリ制御部20は、ページPG(図2参照)単位で、データの読込/書込処理を、ブロックBL(図1および図2参照)単位で、データの消去処理を、それぞれ実行する。
【0034】
また、メモリ制御部20は、第1格納部51のブロック情報格納テーブル51aに格納された情報を参照することにより、不良ブロックをアクセス対象ブロックから除外することができる。
【0035】
ここで、不良ブロックとは、ブロック内に不良セルを有しており、アクセス処理が正常に終了しないブロックをいう。不良ブロックには、先天性不良ブロックと後天性不良ブロックとが含まれる。
【0036】
また、不良セルとは、メモリアレイ15内のワードラインおよびビットラインが、独立的または複合的に、電気的にオープン状態または短絡状態となっており、正しくデータ書込やデータ消去が実行されないセルをいう。また、ゲート酸化膜が著しく劣化しているため、正しくデータ書込やデータ消去が実行されないセルも、不良セルに含まれる。
【0037】
また、先天性不良ブロックとは、製造時、または、工場出荷時にすでに不良ブロックとなっているブロックをいう。
【0038】
さらに、後天性不良ブロックとは、不揮発性半導体記憶装置10を工場出荷後の使用時に発生する後発的な不良ブロックをいう。後天性不良ブロックとなるおそれのあるブロックには、データ書込回数およびデータ消去回数が所定の保証回数未満で不良セルとなる(すなわち、不揮発性半導体記憶装置10の寿命に達するまでに、将来的に不良セルとなる)セルが含まれている。
【0039】
例えば、メモリアレイ15内のワードラインおよびビットラインについて、これらラインの電気的なオープン状態または短絡状態が極めて微弱なセルや、ゲート酸化膜でリークが発生しているセル(以下、「非良質セル」とも呼ぶ)は、良質なセルと比較して、リトライ処理の発生確率が高く、その結果、データの書込時間や消去時間が増大する傾向にある。そして、非良質セルに対して書込処理や消去処理が実行され続けると、非良質セルは、不良セルとなる場合がある。すなわち、非良質セルは、通常使用によって、不良セルに遷移する可能性が高い。
【0040】
ホストインタフェース30は、不揮発性半導体記憶装置10をバスライン95に接続するための機器であり、例えばバスライン95側と不揮発性半導体記憶装置10側との間の動作電圧や応答速度の相違を調整する。
【0041】
診断部40は、メモリアレイ15に含まれる各ブロックBLへのアクセス状況(例えば、データの書込状況や消去状況)を診断することによって、複数のブロックBLから先天性不良ブロックおよび後天性不良ブロックを検出する。図1に示すように、診断部40は、主として、第1検出部41と、第2検出部42と、登録部45と、を有している。
【0042】
第1検出部41は、各ブロックから不良セルを含むブロック(第1ブロック)を先天性不良ブロックとして検出する。例えば、工場出荷時において不良セルを含むブロックについては、そのブロック内の所定領域(例えば、フラグ領域)に不良ブロックであることを示す論理値「True」が格納されている。一方、工場出荷時に不良ブロックと判断されていないブロックについては、そのブロックのフラグ領域に論理値「False」が格納されている。この場合、第1検出部41は、フラグ領域に格納されている論理値が「True」となるブロックBLを、先天性不良ブロックとして検出する。
【0043】
第2検出部42は、第1検出部41によって先天性不良ブロックが検出された後、検出された先天性不良ブロック以外の各ブロックについてアクセス状況の指標値を求める。また、第2検出部42は、指標値に基づいて選択されたブロック(第2ブロック)を、将来的に後天性不良ブロックとなるおそれのあるブロックとして検出する。
【0044】
ここで、後天性不良ブロックとなるおそれのあるブロックは上述の非良質セルを含んでいる可能性が高い。また、この非良質セルを含むブロックに対するデータの書込時間は、良質セルのものと比較して長くなる可能性が高い。
【0045】
そこで、第2検出部42は、メモリ制御部20により各ブロックBLに対して実行されるデータ書込の時間を計測し、この計測されたデータ書込時間を指標値とする。そして、第2検出部42は、計測された指標値が大きいブロックBLから順番に後天性不良ブロックとなるおそれのあるブロック(第2ブロック)として選択する。これにより、選択されたブロック(第2ブロック)をメモリ制御部20のアクセス対象ブロックから確実に除外することが可能となる。
【0046】
なお、データ書込時間に基づいた指標値としては、書込対象ブロックの各ページPG(図2参照)に対し、ページ単位にデータの書込処理をメモリ制御部20に実行させ、計測された各ページのデータ書込時間の総計が使用されてもよい。また、書込対象ブロックに含まれる各ページのデータ書込時間のうち最大となる時間が指標値として使用されてもよい。
【0047】
また、指標値の信頼性を確保するため、データ書込時間の計測は、以下の手順で実行される。すなわち、まず、ブロック内の全データが削除される。そして、書込対象となるページのすべてのセルに「00h」が格納されるまでに要する時間Tが計測される。ここで、各ページPGのデータ書込時間Tは、書込制御信号が「Ready」状態から「Busy」状態に遷移する時刻t1(すなわち、信号論理が「High」状態から「Low」状態に遷移する時点)と、書込制御信号が「Busy」状態から「Ready」状態に遷移する時刻t2(すなわち、信号論理が「Low」状態から「High」状態に遷移する時点)と、が計測されることによって求められる(図3参照)。
【0048】
登録部45は、第1検出部41によって検出された先天性不良ブロック、および第2検出部42によって検出された後天性不良ブロックに関する情報を、各ブロック毎に不良ブロック情報としてブロック情報格納テーブル51aに登録する。
【0049】
第1格納部51は、いわゆるメモリによって構成された記憶部である。ブロック情報格納テーブル51aには、例えば、不良ブロック情報に関する情報を格納するブロック情報格納テーブル51aに記憶される。
【0050】
図4は、本実施の形態におけるブロック情報格納テーブル51aのデータ構造の一例を示す図である。図4に示すように、ブロック情報格納テーブル51aは、例えば、「ID」および「ブロックNO」の各フィールド(列)を有している。
【0051】
「ID」フィールドには、ブロック情報格納テーブル51aに含まれる各レコード(各行)を一意に識別する識別子が格納される。「ブロックNO」フィールドには、メモリアレイ15を構成する各ブロックBLを一意に識別するための識別子が格納される。
【0052】
これにより、メモリ制御部20は、予め診断部40によってブロック情報格納テーブル51aに登録された不良ブロック情報を参照することにより、先天性不良ブロックおよび後天性不良ブロックをアクセス対象ブロックから除外することができる。
【0053】
なお、図4に示すように、先天性不良ブロックおよび後天性不良ブロックは、ブロック情報格納テーブル51aに区別して登録されていないが、これに限定されるものでない。例えば、ブロック情報格納テーブル51aに先天性不良ブロックと後天性不良ブロックとを識別するためのフィールドが作成され、このフィールドに両ブロックを識別するためのデータが格納されてもよい。
【0054】
また、ブロック情報格納テーブル51aに格納されるレコード数(すなわち、不良ブロック情報の個数)は、メモリアレイ15の容量、メモリアレイ15に含まれるブロックBLの総数に応じた所定数M(Mは正の整数)となるように設定されている。これにより、ブロック情報格納テーブル51aの容量を可変値でなく一定値とすることができ、第1格納部51のハードウェア構成を容易にすることができる。
【0055】
第2格納部52は、第1格納部51と同様に、いわゆるメモリによって構成された記憶部である。ソート情報格納テーブル52aには、第2検出部42による後天性不良ブロックの検出処理に使用可能なソート情報格納テーブル52aが記憶される。
【0056】
図5は、本実施の形態におけるソート情報格納テーブル52aのデータ構造の一例を示す図である。ソート情報格納テーブル52aは、N個(Nは正の整数)のレコードを格納可能なテーブルである。ソート情報格納テーブル52aは、第2検出部42によって後天性不良ブロックが検出される場合において、計測されたデータ書込時間を降順に整列するために使用される。図5に示すように、ソート情報格納テーブル52aは、例えば、「ブロックNO」および「書込時間」の各フィールドを有している。
【0057】
「ID」フィールドには、ブロック情報格納テーブル51aに含まれる各レコードを一意に識別する識別子が格納される。「ブロックNO」フィールドには、メモリアレイ15の各ブロックBLを一意に識別するための識別子が格納される。「書込時間」フィールドには、「ブロックNO」フィールドによって指定されたブロックに対応するデータ書込時間が格納される。
【0058】
ここで、第2検出部42は、「書込時間」フィールドに格納される値がレコード先頭(上段側)から降順となるように、各ブロックBLのデータ書込時間およびブロックNOをソート情報格納テーブル52aに格納する。
【0059】
例えば、書込対象ブロックの書込時間が、(1)レコード52bの「書込時間」フィールドに格納されている値以下であり、かつ、(2)レコード52cの「書込時間」フィールドに格納されている値より大きいとき、「ID」=「N」となるレコード(最終行のレコード)が削除されるとともに、レコード52b以下のレコードの「ID」が1だけ増加させられ、レコード52b以下のレコードが順次繰り上げられる。そして、「ID」=「2」となるレコードに、書込対象ブロックのブロックNOおよびデータ書込時間が格納される。なお、ソート情報格納テーブル52aのレコード総数Nは、メモリアレイ15の容量等に基づき、一定値としてもよい。
【0060】
<1.3.不良ブロックの検出手順>
図6は、本実施の形態における先天性および後天性不良ブロックの検出手順を説明するためのフローチャートである。本検出手順では、まず、第1検出部41によって先天性不良ブロックの検出処理が実行される(S101)。検出された先天性不良ブロックに関する情報は、不良ブロック情報としてブロック情報格納テーブル51aに登録される(S102)。なお、不良ブロック情報の登録は、先天性不良ブロックが検出される毎に行われてもよいし、すべてのブロックBLについて先天性不良ブロックの検出処理が完了した後に行われてもよい。
【0061】
次に、第2検出部42によって後天性不良ブロックの検出処理が実行される。すなわち、各ブロックBLについてデータの書込時間を計測する処理が実行される(S103)。続いて、計測された書込時間と、既にソート情報格納テーブル52aに格納されている「書込時間」の値と、が比較される(S104)。計測された書込時間が既に登録された「書込時間」のいずれかの値より大きい場合、計測された書込時間およびブロックNOを有するレコードがソートされてソート情報格納テーブル52aに登録される(S105)。一方、計測された書込時間が既に登録された「書込時間」のいずれの値よりも小さい、または、同一の場合、ステップS106に進む。これらステップS103〜S105の処理は、メモリアレイ15のすべてのブロックについてデータ書込時間の計測が終了するまで実行される(S106)。そして、すべてのブロックについてデータ書込時間の計測が終了すると(S106)、ソート情報格納テーブル52aに格納されたデータのうち「書込時間」の大きいブロックから順に、後天性不良ブロックとしてブロック情報格納テーブル51aに登録され(S107)、本手順が終了する。
【0062】
なお、既にブロック情報格納テーブル51aに登録されている先天性不良ブロックの個数をMc(≧0)、およびブロック情報格納テーブル51aに登録可能なブロック情報の個数をM(>0)とすると、ブロック情報格納テーブル51aに登録可能な後天性不良ブロックの個数Mp(≧0)は、数1によって表すことができる。
【0063】
1≦Mp≦M−Mc ・・・ (数1)
【0064】
<1.4.第1の実施の形態の不揮発性半導体記憶装置の利点>
以上ように、第1の実施の形態の不揮発性半導体記憶装置10は、すでに不良セルを有する先天性不良ブロックを検出するだけでなく、将来的に不良ブロックとなるおそれのある後天性不良ブロックをも検出することができる。これにより、先天性不良ブロックだけでなく後天性不良ブロックとなるおそれのあるブロックも、メモリ制御部20のアクセス対象ブロックから除外することができる。そのため、不揮発性半導体記憶装置10使用中にアクセス対象から後天性不良ブロックを除外する機能およびこの機能を実現するハードウェア(回路)が不要となり、不揮発性半導体記憶装置10の構成を簡略化させることができる。
【0065】
また、不揮発性半導体記憶装置10において、後天性不良ブロックとなるおそれのあるブロックはアクセス対象から除外されている。これにより、後天性不良ブロックが発生したか否かを検出するための処理が不要となる。そのため、不揮発性半導体記憶装置10の処理負担を軽減させることができる。
【0066】
<2.第2の実施の形態>
次に、本発明の第2の実施の形態について説明する。第2の実施の形態における情報処理システム100および不揮発性半導体記憶装置110は、第1の実施の形態のものと比較して、
(1)不揮発性半導体記憶装置110の第1格納部51に格納されているブロック情報格納テーブル151aのデータ構造が異なる点と、
(2)メモリ制御部120によって実行されるアクセス処理が異なる点と、
を除いては、第1の実施の形態と同様なハードウェア構成を有する。そこで、以下では、この相違点を中心に説明する。
【0067】
なお、以下の説明において、第1の実施の形態の情報処理システム1および不揮発性半導体記憶装置10における構成要素と同様な構成要素については同一符号を付している。これら同一符号の構成要素は、第1の実施の形態において説明済みであるため、本実施形態では説明を省略する。
【0068】
<2.1.不揮発性半導体記憶装置の構成>
不揮発性半導体記憶装置110は、第1の実施の形態の不揮発性半導体記憶装置10と同様に、読み書き自在であり、電源供給が切断されても記憶された内容が消えない不揮発性メモリである。図1に示すように、不揮発性半導体記憶装置110は、主として、メモリアレイ15と、メモリ制御部120と、診断部40と、第1格納部51と、第2格納部52と、を備えている。
【0069】
診断部40は、メモリアレイ15に含まれる各ブロックBLへのアクセス状況を診断する。図1に示すように、診断部40は、主として、第1検出部41と、第2検出部142と、登録部145と、を有している。
【0070】
第2検出部142は、第1検出部41によって不良ブロック(先天性不良ブロック:第1ブロック)が検出された後、検出された不良ブロック以外の各ブロックについてアクセス状況の指標値を求める。また、第2検出部142は、指標値に基づいて選択されたブロック(第2ブロック)を、リフレッシュ対象ブロックとして検出する。
【0071】
ここで、リフレッシュ対象ブロックとは、同一ブロックの同一ページに対して繰り返しデータ読込が行われることにより、記憶されているデータの劣化が発生してデータの読込エラーが発生するおそれのあるブロックをいう。また、リフレッシュ対象ブロックは、上述の非良質セルを有している可能性が高い。さらに、非良質セルを含むブロックまたはページに対して電荷を補充するリフレッシュ処理が施されることにより、データ劣化が防止される。
【0072】
そこで、本実施の形態の第2検出部142は、第1の実施の形態の後天性不良ブロックを検出する処理と同様な手法により、リフレッシュ対象ブロックを検出する。すなわち、第2検出部142は、第1の実施の形態の第2検出部42と同様に、メモリ制御部120により各ブロックBLに対して実行されるデータ書込の時間を計測し、この計測されたデータ書込時間を指標値とする。また、第2検出部142は、計測された指標値が大きいブロックBLから順番にリフレッシュ対象ブロック(第2ブロック)として選択する。また、メモリ制御部120は、リフレッシュ対象ブロックに対して、所定のタイミングでリフレッシュ処理を実行する。これにより、各ブロックでデータ読込エラーが発生することを未然に防止することができる。
【0073】
登録部145は、第1検出部41によって検出された不良ブロックに関する情報を不良ブロック情報として、および第2検出部142によって検出されたリフレッシュ対象ブロックに関する情報をリフレッシュ対象ブロック情報として、各ブロック毎にブロック情報格納テーブル151aに登録する。
【0074】
図7は、本実施の形態におけるブロック情報格納テーブル151aのデータ構造の一例を示す図である。ブロック情報格納テーブル151aは、診断部40の診断結果に応じて選択された不良ブロック情報とリフレッシュ対象ブロックと、を格納する格納テーブルである。図7に示すように、ブロック情報格納テーブル151aは、例えば、「ID」、「ブロックNO」、および「種別」の各フィールドを有している。
【0075】
「ID」フィールドには、ブロック情報格納テーブル151aに含まれる各レコードを一意に識別する識別子が格納される。「ブロックNO」フィールドには、メモリアレイ15を構成するブロックBLを一意に識別するための識別子が格納されている。
【0076】
「種別」フィールドには、各レコードに格納されている情報が、「不良ブロック」および「リフレッシュ対象ブロック」のいずれに関するものかを特定する種別情報が格納されている。ここで、「種別」=「BB」となるレコードには、「不良ブロック」に関する情報が格納されている(例えば、「ID」=「1」のレコード)。一方、「種別」=「RB」となるレコードには、「リフレッシュ対象ブロック」に関する情報が格納されている(例えば、「ID」=「M−1」のレコード)。
【0077】
これにより、メモリ制御部120は、予め診断部40によってブロック情報格納テーブル151aに登録された情報を参照することにより、(1)不良ブロックをアクセス対象ブロックから除外するとともに、(2)リフレッシュ対象ブロックに対して所定のタイミングでリフレッシュ処理を実行することができる。
【0078】
また、ブロック情報格納テーブル151aに格納されるレコード数(すなわち、不良ブロック情報の個数とリフレッシュ対象ブロック情報の個数との総計)は、メモリアレイ15の容量、メモリアレイ15に含まれるブロックBLの総数に応じた所定数M(Mは正の整数)となるように設定されている。これにより、ブロック情報格納テーブル151aの容量を可変値でなく一定値とすることができ、第1格納部51のハードウェア構成を容易にすることができる。
【0079】
<2.2.不良ブロックおよびリフレッシュ対象ブロックの検出手順>
図8は、本実施の形態における不良ブロックおよびリフレッシュ対象ブロックの検出手順を説明するためのフローチャートである。本検出手順では、まず、第1検出部41によって不良ブロック(先天性不良ブロック)の検出処理が実行される(S201)。検出された不良ブロックに関する情報は、不良ブロック情報としてブロック情報格納テーブル151aに登録される(S202)。
【0080】
ここで、ステップS202において、「種別」フィールドには、不良ブロック情報を示す「BB」が格納される(例えば、図7の「ID」=「2」のレコード)。また、不良ブロック情報の登録は、不良ブロックが検出される毎に行われてもよいし、すべてのブロックBLについて不良ブロックの検出処理が完了した後に行われてもよい。
【0081】
次に、第2検出部142によってリフレッシュ対象ブロックの検出処理が実行される。すなわち、各ブロックBLについてデータの書込時間を計測する処理が実行される(S203)。続いて、計測された書込時間と、既にソート情報格納テーブル52aに格納されている「書込時間」の値と、が比較される(S204)。計測された書込時間が既に登録された「書込時間」のいずれかの値より大きい場合、計測された書込時間およびブロックNOを有するレコードがソートされてソート情報格納テーブル52aに登録される(S205)。一方、計測された書込時間が既に登録された「書込時間」のいずれの値よりも小さい、または、同一の場合、ステップS206に進む。これらステップS203〜S205の処理は、メモリアレイ15のすべてのブロックについてデータ書込時間の計測が終了するまで実行される(S206)。
【0082】
そして、すべてのブロックについてデータ書込時間の計測が終了すると、ソート情報格納テーブル52aに格納されたデータのうち「書込時間」の大きいブロックから順に、リフレッシュ対象ブロックとしてブロック情報格納テーブル151aに登録され(S207)、本手順が終了する。なお、ステップS207において、「種別」フィールドには、リフレッシュ対象ブロックを示す「RB」が格納される。
【0083】
<2.3.第2の実施の形態の不揮発性半導体記憶装置の利点>
以上のように、第2の実施の形態の不揮発性半導体記憶装置110は、不良セルを有する不良ブロックだけでなく、リフレッシュ対象ブロックをも検出することができる。これにより、リフレッシュ対象ブロックをリフレッシュ処理の対象とすることができる。そのため、各ブロックでデータ読込エラーが発生することを未然に防止することができる。
【0084】
<3.変形例>
以上、本発明の実施の形態について説明してきたが、本発明は上記実施の形態に限定されるものではなく様々な変形が可能である。
【0085】
(1)第1および第2の実施において、診断部40の第2検出部42、142は、指標値としてメモリアレイ15の各ブロックBLに対して実行されるデータの書込の時間を使用するものとして説明したがこれに限定されるものでない。
【0086】
ここで、後天性不良ブロックとなるおそれのあるブロックは、上述のように、非良質セルを含んでいる可能性が高い。また、上述のように、後天性不良ブロックとなるおそれのあるブロックに対して繰り返しデータ読込が行われると、記憶されているデータの劣化が発生して、データ読込エラーが発生するおそれがある。また、この非良質セルを含むブロックに記憶されたデータを消去するために要する時間は、データ書込時間と同様に、良質セルのものと比較して長くなる可能性が高い。
【0087】
したがって、第2検出部42、142は、メモリ制御部20、120により各ブロックBLに対して実行されるデータ消去の時間を計測し、このデータ消去時間を指標値として使用してもよい。この場合、データ書込時間を指標値として使用する場合と同様に、データ消去時間が大きいブロックから順番に後天性不良ブロックまたはリフレッシュ対象ブロック(第2ブロック)として選択する。
【0088】
また、指標値の信頼性を確保するため、データ消去時間の計測処理は、以下の手順で実行される。すなわち、まず、ブロック内のすべてのセルに「00h」が書き込まれる。続いて、消去処理が実行され、データ消去時間Tが計測される。ここで、データ消去時間は、消去制御信号が「Ready」状態から「Busy」状態に遷移する時刻t1と、消去制御信号が「Busy」状態から「Ready」状態に遷移する時刻t2と、が計測されることによって求められる(図3参照)。
【0089】
(2)また、データ書込時間とデータ消去時間とを総計したものが指標値として使用されてもよい。この場合も、指標値が大きいブロックから順番に選択することにより、後天性不良ブロックとなるおそれのあるブロックまたはリフレッシュ対象ブロックを確実に検出することができる。
【0090】
(3)第1の実施の形態において、先天性不良ブロックに関する情報と、後天性不良ブロックに関する情報とは、同一のブロック情報格納テーブル51aに格納されるものとして説明したが、これに限定されるものでない。先天性不良ブロックに関する情報と、後天性不良ブロックに関する情報とは、それぞれ別個の格納テーブルに格納されてもよい。
【0091】
また、第2の実施の形態において、不良ブロック情報と、リフレッシュ対象ブロック情報とは、同一のブロック情報格納テーブル151aに格納されるものとして説明したが、これに限定されるものでない。不良ブロック情報と、リフレッシュ対象ブロック情報とは、それぞれ別個の格納テーブルに格納されてもよい。
【0092】
(4)さらに、第2の実施の形態において、ブロック情報格納テーブル151aには、不良ブロックおよびリフレッシュ対象ブロックに関する情報が格納されているが、これに限定されるものでない。例えば、ブロック情報格納テーブル151aには、先天性不良ブロック、後天性不良ブロック、およびリフレッシュ対象ブロックに関する情報が格納されてもよい。
【0093】
すなわち、第2検出部142は、(a)アクセス状況の指標値(例えば、データ書込時間)が第1範囲となるブロック(第2ブロック)を後天性不良ブロックとなるおそれのあるブロックとし、(b)指標値が第2範囲となり後天性不良ブロックとなるおそれのあるブロックと比較してアクセス状況が良好なブロック(第3ブロック)をリフレッシュ対象ブロックとして検出する。
【0094】
これにより、メモリ制御部120は、予め診断部40によってブロック情報格納テーブル151aに登録された情報を参照することにより、(a)先天性および後天性不良ブロックをアクセス対象ブロックから除外するとともに、(b)リフレッシュ対象ブロックに対して所定のタイミングでリフレッシュ処理を実行することができる。そのため、後天性不良ブロックとして使用不可となるブロックの数を低減させつつ、各ブロックでデータ読込エラーが発生することを未然に防止することができる。
【図面の簡単な説明】
【0095】
【図1】本発明の第1および第2の実施の形態における情報処理システムおよび不揮発性半導体記憶装置の全体構成の一例を示す図である。
【図2】メモリアレイの論理構成を説明するための図である。
【図3】メモリ制御部によるデータ書込時間を説明するためのタイミングチャートである。
【図4】第1の実施の形態におけるブロック情報格納テーブルのデータ構造の一例を示す図である。
【図5】第1および第2の実施の形態におけるソート情報格納テーブルのデータ構造の一例を示す図である。
【図6】第1の実施の形態における先天性および後天性不良ブロックの検出手順を説明するためのフローチャートである。
【図7】第2の実施の形態におけるブロック情報格納テーブルのデータ構造の一例を示す図である。
【図8】第2の実施の形態における不良ブロックおよびリフレッシュ対象ブロックの検出手順を説明するためのフローチャートである。
【符号の説明】
【0096】
1、100 情報処理システム
10、110 不揮発性半導体記憶装置
15 メモリアレイ
20、120 メモリ制御部
40 診断部
41 第1検出部
42、142 第2検出部
45、145 登録部
51 第1格納部
51a、151a ブロック情報格納テーブル
52 第2格納部
52a ソート情報格納テーブル
BL ブロック
PG ページ

【特許請求の範囲】
【請求項1】
(a) 複数のブロックに分割されたメモリアレイと、
(b) 前記メモリアレイに含まれる各ブロックへのアクセス状況を診断することにより、前記複数のブロックから不良ブロックを検出する診断部と、
(c) 前記不良ブロックに関する情報が格納されるブロック情報格納テーブルと、
(d) 各ブロックへのアクセス処理を実行するメモリ制御部と、
を備え、
前記メモリアレイは、データを記憶する複数のセルを有しており、
前記診断部は、
(b-1) 不良セルを含む第1ブロックを先天性不良ブロックとして検出する第1検出部と、
(b-2) 前記先天性不良ブロック以外の各ブロックについてアクセス状況の指標値を求めるとともに、該指標値に基づいて選択された第2ブロックを後天性不良ブロックとして検出する第2検出部と、
(b-3) 前記第1および第2検出部によって検出された前記先天性不良ブロックおよび前記後天性不良ブロックに関する情報を、各ブロック毎に不良ブロック情報として前記ブロック情報格納テーブルに登録する登録部と、
を有し、
前記メモリ制御部は、予め前記診断部により前記ブロック情報格納テーブルに登録された前記不良ブロック情報に基づいて、前記先天性不良ブロックおよび前記後天性不良ブロックをアクセス対象ブロックから除外することを特徴とする不揮発性半導体記憶装置。
【請求項2】
請求項1に記載の不揮発性半導体記憶装置において、
前記ブロック情報格納テーブルに格納可能な前記不良ブロック情報の個数は、前記複数のブロックの総数に応じた所定数以下であることを特徴とする不揮発性半導体記憶装置。
【請求項3】
(a) 複数のブロックに分割されたメモリアレイと、
(b) 前記メモリアレイに含まれる各ブロックへのアクセス状況を診断する診断部と、
(c) 前記複数のブロックのうち、前記診断部の診断結果に応じて選択されたブロックについて、該ブロックに関する情報が格納されるブロック情報格納テーブルと、
(d) 各ブロックへのアクセス処理を実行するメモリ制御部と、
を備え、
前記メモリアレイは、データを記憶する複数のセルを有しており、
前記診断部は、
(b-1) 不良セルを含む第1ブロックを不良ブロックとして検出する第1検出部と、
(b-2) 前記不良ブロック以外の各ブロックについてアクセス状況の指標値を求めるとともに、該指標値に基づいて選択された第2ブロックをリフレッシュ対象ブロックとして検出する第2検出部と、
(b-3) 前記第1検出部によって検出された前記不良ブロックに関する情報を不良ブロック情報として、前記第2検出部によって検出された前記リフレッシュ対象ブロックに関する情報をリフレッシュ対象ブロック情報として、それぞれ前記ブロック情報格納テーブルに登録する登録部と、
を有し、
前記メモリ制御部は、予め前記診断部により前記ブロック情報格納テーブルに登録された前記不良ブロック情報および前記リフレッシュ対象ブロックに基づいて、
(i) 前記不良ブロックをアクセス対象ブロックから除外し、
(ii) 前記リフレッシュ対象ブロックにリフレッシュ処理を実行することを特徴とする不揮発性半導体記憶装置。
【請求項4】
請求項3に記載の不揮発性半導体記憶装置において、
前記ブロック情報格納テーブルに格納可能な前記不良ブロック情報の個数と、前記リフレッシュ対象ブロック情報の個数と、の総計は、前記複数のブロックの総数に応じた所定数以下であることを特徴とする不揮発性半導体記憶装置。
【請求項5】
請求項1ないし請求項4のいずれかに記載の不揮発性半導体記憶装置において、
前記指標値は、前記メモリ制御部により各ブロックに対して実行されるデータ書込の時間であり、
前記第2検出部は、前記指標値が大きいブロックから順番に前記第2ブロックとして選択することを特徴とする不揮発性半導体記憶装置。
【請求項6】
請求項5に記載の不揮発性半導体記憶装置において、
各ブロックは、複数のページを有しており、
前記メモリ制御部は、ページ単位にデータの書込処理を実行し、
前記第2検出部は、書込対象ブロックに含まれる各ページのデータ書込時間の総計を前記指標値として使用することを特徴とする不揮発性半導体記憶装置。
【請求項7】
請求項5に記載の不揮発性半導体記憶装置において、
各ブロックは、複数のページを有しており、
前記メモリ制御部は、ページ単位にデータの書込処理を実行し、
前記第2検出部は、ブロックに含まれる各ページのデータ書込時間のうち最大となる時間を前記指標値として使用することを特徴とする不揮発性半導体記憶装置。
【請求項8】
請求項1ないし請求項4のいずれかに記載の不揮発性半導体記憶装置において、
前記指標値は、前記メモリ制御部により各ブロックに対して実行されるデータ消去の時間であり、
前記第2検出部は、前記指標値が大きいブロックから順番に前記第2ブロックとして選択することを特徴とする不揮発性半導体記憶装置。
【請求項9】
請求項1ないし請求項4のいずれかに記載の不揮発性半導体記憶装置において、
前記指標値は、前記メモリ制御部により各ブロックに対して実行されるデータ消去の時間とデータ書込の時間とを総計したものであり、
前記第2検出部は、前記指標値が大きいブロックから順番に前記第2ブロックとして選択することを特徴とする不揮発性半導体記憶装置。
【請求項10】
(a) 複数のブロックに分割されたメモリアレイと、
(b) 前記メモリアレイに含まれる各ブロックへのアクセス状況を診断する診断部と、
(c) 前記複数のブロックのうち、前記診断部の診断結果に応じて選択されたブロックについて、該ブロックに関する情報が格納されるブロック情報格納テーブルと、
(d) 前記複数のブロックへのアクセス処理を実行するメモリ制御部と、
を備え、
前記メモリアレイは、データを記憶する複数のセルを有しており、
前記診断部は、
(b-1) 不良セルを含む第1ブロックを先天性不良ブロックとして検出する第1検出部と、
(b-2) 前記先天性不良ブロック以外の各ブロックについて、
アクセス状況の指標値を求めるとともに、該指標値が第1範囲となる第2ブロックを後天性不良ブロックとして検出し、
該指標値が第2範囲となり前記第2ブロックと比較してアクセス状況が良好な第3ブロックをリフレッシュ対象ブロックとして検出する第2検出部と、
(b-3) 前記第1および第2検出部によって検出された前記先天性不良ブロックおよび前記後天性不良ブロックに関する情報を不良ブロック情報として、前記第2検出部によって検出された前記リフレッシュ対象ブロックに関する情報をリフレッシュ対象ブロック情報として、それぞれ前記ブロック情報格納テーブルに登録する登録部と、
を有し、
前記メモリ制御部は、予め前記診断部により前記ブロック情報格納テーブルに登録された前記不良ブロック情報および前記リフレッシュ対象ブロックに基づいて、
(i) 前記先天性不良ブロックおよび前記後天性不良ブロックをアクセス対象ブロックから除外し、
(ii) 前記リフレッシュ対象ブロックにリフレッシュ処理を実行することを特徴とする不揮発性半導体記憶装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2008−262614(P2008−262614A)
【公開日】平成20年10月30日(2008.10.30)
【国際特許分類】
【出願番号】特願2007−102783(P2007−102783)
【出願日】平成19年4月10日(2007.4.10)
【出願人】(591128453)株式会社メガチップス (322)
【Fターム(参考)】