JP4766781B2 - 半導体記憶装置 - Google Patents
半導体記憶装置 Download PDFInfo
- Publication number
- JP4766781B2 JP4766781B2 JP2001186418A JP2001186418A JP4766781B2 JP 4766781 B2 JP4766781 B2 JP 4766781B2 JP 2001186418 A JP2001186418 A JP 2001186418A JP 2001186418 A JP2001186418 A JP 2001186418A JP 4766781 B2 JP4766781 B2 JP 4766781B2
- Authority
- JP
- Japan
- Prior art keywords
- sector
- error
- spare
- data
- user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Memory System (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
【発明の属する技術分野】
本発明は、ブロック単位でリード/ライト/イレースされるフラッシュメモリ等を用いた不揮発性半導体記憶装置に関する。
【0002】
【従来の技術】
セクタ単位でリード、ライト、イレース処理される不揮発性半導体メモリとして、例えば三菱電機製M5M29F25611VPや日立製作所製HN29W25611があげられる。これらは2kバイトのセクタ単位でリード、ライト、消去処理されるフラッシュメモリである。従来のフラッシュメモリを用いた記憶装置は、ホストコンピュータが書き込むセクタアドレス(論理アドレス)をフラッシュメモリの物理アドレスに変換し、さらにホストコンピュータが発行したコマンドによってフラッシュメモリに対するセクタデータの読み出しや書き込みを行う。
【0003】
フラッシュメモリには、規定値以内の初期不良セクタや使用開始後に使用できなくなる不良セクタが存在する。このような初期的および後発的に起こる不良セクタに対しては、ホストコンピュータの論理アドレスを代替セクタの物理アドレスに変換する処理が必要になる。一方、一度書き込み/消去エラーが起こったセクタであっても再度書き込み/消去を行うと正常に動作するセクタが存在することも知られている。そのようなセクタのエラーは偶発的なエラーであると考えられている。
【0004】
【発明が解決しようとする課題】
従来は、書き込み/消去エラーが起こると無条件に不良セクタとみなし、偶発エラーセクタに対しても代替セクタへの変換を行っていた。そのため、正常に動作可能な偶発エラーセクタが使用されず無駄が生じていた。使用開始時においても予備セクタを十分確保しなければならず、予め確保すべきユーザの使用可能な記憶容量が抑制されていた。
【0005】
本発明の目的は、偶発エラーセクタを再利用することで、無駄なく記憶容量を使用でき、信頼性の高い低コストな半導体記憶装置を提供することである。
【0006】
【課題を解決するための手段】
本発明の半導体記憶装置は、データを記録する複数のユーザセクタと、ユーザセクタ毎に、該ユーザセクタの位置を示すアドレス、および、該ユーザセクタへの記録エラーの回数を示すエラーカウント値を対応させて規定するユーザセクタテーブルとを有する不揮発性メモリセルを備え、さらに前記ユーザセクタのうち記録エラーが発生したエラーセクタに対し、前記ユーザセクタテーブルに規定された該エラーセクタのエラーカウント値に基づいて、後にデータを記録するか否かを判定するコントローラを備えており、これにより上記目的が達成される。
【0007】
前記不揮発性メモリセルは、記録エラーが発生した場合に前記エラーセクタに代えてデータを記録する予備セクタをさらに有しており、 前記コントローラは、後にデータを記録すると判定した前記エラーセクタを、後に使用される予備セクタに変更してもよい。
【0008】
前記不揮発性メモリセルは、予備セクタ毎に、該予備セクタの位置を示すアドレス、および、該予備セクタへの記録エラーの回数を示すエラーカウント値を対応させて規定する予備セクタテーブルをさらに有していてもよい。
【0009】
前記コントローラは、前記エラーセクタのエラーカウント値が予め設定された値よりも小さい場合には、該エラーセクタに後にデータを記録すると判定し、大きい場合には、該エラーセクタには後にデータを記録しないと判定してもよい。
【0010】
前記予備セクタテーブルには、使用される予備セクタの順序が付されており、前記コントローラは、該エラーセクタに後にデータを記録すると判定した場合には前記順序に基づいて最先の予備セクタにデータを記録し、前記エラーセクタから変更された予備セクタには、最先の順序を付してもよい。
【0011】
前記コントローラは、前記エラーセクタのエラーカウント値と記録エラーが発生するまでの前記エラーセクタへの記録回数との比が、予め設定された値よりも小さい場合には、該エラーセクタに後にデータを記録すると判定し、大きい場合には、該エラーセクタには後にデータを記録しないと判定してもよい。
【0012】
前記予備セクタテーブルには、予備セクタが使用される順序が付されており、前記コントローラは、該エラーセクタに後にデータを記録すると判定した場合には、前記順序に基づいて最先の予備セクタにデータを記録し、前記エラーセクタから変更された予備セクタには、最後の順序を付してもよい。
【0013】
前記コントローラは、前記最先の予備セクタに続く予備セクタの順序を前にずらしてもよい。
【0014】
【発明の実施の形態】
以下、添付の図面を参照して本発明の実施の形態1および2を説明する。
【0015】
(実施の形態1)
図1は、不揮発性メモリセル15を有する本発明の半導体記憶装置1の構成を示すブロック図である。半導体記憶装置1は、例えばフラッシュメモリであり、カード型半導体記憶装置1(例えばATAカード)である。カード型半導体記憶装置1は、デジタル機器により文字情報、画像情報、音楽情報等のデジタル情報を記録する外部記憶メディアとして用いられる。
【0016】
図1を参照して、カード型半導体記憶装置1は、半導体記憶装置1の内部動作を制御する内部コントローラ10と、内部コントローラ10の動作プログラムを格納するROMおよびRAM11と、フラッシュメモリのアクセスに必要な制御信号を予め定められたタイミングで生成し、フラッシュメモリへのアクセスを制御する制御シーケンサ12と、カードを装着した端末機(図示せず)がフラッシュメモリにアクセスする際の制御命令等を介在するための複数のレジスタ13(パラメータレジスタ13−1、コマンドレジスタ13−2、ステータスレジスタ13−3)と、読み出し、または書き込みの対象となるデータを一時的に格納するデータバッファ14と、大容量データを記録するメモリセルアレイからなるフラッシュメモリ15とを備えている。
【0017】
端末機(図示せず)がカード型半導体記憶装置1のフラッシュメモリ15にデータを記録し、フラッシュメモリ15からデータを読み出すには、端末機が、カード制御信号と、カードアドレスバスを介してアドレスデコーダ16に送るレジスタ選択のための情報と、カードデータバスを介してレジスタ13およびデータバッファ14に送るデータとによって各レジスタにアクセスし、データの読み出し、書き込みを行う。具体的には、端末機がパラメータレジスタ13−1にパラメータをセットしてコマンドレジスタ13−2にコマンドを書き込むと、内部コントローラ10はパラメータレジスタ13−1およびコマンドレジスタ13−2を読み、コマンドに応じた所定の処理を行う。コマンドの処理が正常に終了できたか、または、エラー終了したかは、ステータスレジスタ13−3を読み出して判断する。フラッシュメモリ15内のデータはデータバッファ14を介してアクセスされる。
【0018】
フラッシュメモリ15には、後述のようにユーザセクタの他に、不良セクタや、種々の制御に必要なデータが格納されたセクタがある。端末機からはユーザセクタに対して論理アドレスで参照されるため、内部コントローラ10は論理−物理アドレスの変換を行う。
【0019】
図2の(a)は、フラッシュメモリ15のメモリマップを示す。フラッシュメモリ15は、大きく、ユーザデータ記録領域15−1、ユーザセクタアドレス変換テーブル15−2、および、予備セクタアドレス変換テーブル15−3とを含む。ユーザデータ記録領域15−1は、ユーザの所望のデータを記録する領域である。ただし、ユーザデータ記録領域15−1には、データを格納するユーザセクタの他に、当初からデータを記録できない、または使用開始後にデータが記録できなくなった不良セクタ、および、不良セクタが発生した場合の代替として用いられる、本発明の特徴である予備セクタ(後述)も存在する。これらのセクタは、ランダムな物理アドレスの位置に混在する。ユーザーセクタには論理アドレスが割り当てられており、図1の例では[]内の数字で示す。同様に予備セクタにも論理番号が割り当てられている。
【0020】
図2の(b)は、本発明によるユーザセクタアドレス変換テーブル15−2を示す図である。ユーザセクタアドレス変換テーブル15−2には、論理アドレスであるオフセットパラメータkに対応するユーザセクタ[k]の物理アドレスUSR_PA[k]を得られるよう論理アドレス順に物理アドレスが格納されている。さらにテーブル15−2には、物理アドレスに加えてそのユーザセクタ[k]のエラーカウント値USR_ER[k]が格納されている。エラーカウント値USR_ER[k]とは、過去にそのセクタに書き込み/消去エラー(記録エラー)が生じた回数を表す値である。従来は、記録エラーが生じたセクタはその後使用していなかったが、本発明はそのようなセクタであっても再度書き込み/消去を行うと正常に動作する場合には再利用するので、エラーカウント値USR_ER[k]としてエラーの回数を保持することとした。例えば、エラーカウントが0のセクタ(オフセットパラメータk=2のユーザセクタ)はこれまでエラーが生じておらず、また、エラーカウントが3のセクタ(オフセットパラメータk=1のユーザセクタ)はすでに3回エラーが生じていることを表す。なお、以下では、一度記録エラーが起こったセクタであっても再度書き込み/消去を行うと正常に動作するセクタを、偶発エラーセクタと称する。
【0021】
図2の(c)は、予備セクタアドレス変換テーブル15−3を表す。予備セクタアドレス変換テーブル15−3には、論理アドレスであるオフセットパラメータiに対応する予備セクタ[i]の物理アドレスRSV_PA[i]を得られるよう論理アドレス順に物理アドレスが格納されている。「予備セクタ」とは、ユーザセクタに記録エラーが発生した場合に、ユーザデータを代わりに記憶する代替のためのセクタである。どのようにして代替するかは、図3を参照して詳述する。さらに物理アドレスに加えてそのセクタのエラーカウント値RSV_ER[i]を格納する。予備セクタのエラーカウント値RSV_ER[i]は0以上の値をとる。なお、後述のように予備セクタはデータを記録されるとユーザセクタとして機能するため、将来的にはユーザセクタアドレス変換テーブル15−2に登録されることとなる。そのため予備セクタもエラーカウント値RSV_ER[i]を保持する必要がある。
【0022】
アドレス変換テーブル15−2、15−3はフラッシュメモリセルアレイ15に格納されているので、電源が切られた後でも情報を保持でき、その一方で保持した情報を電気的に消去できる。
【0023】
続いて、偶発エラーであるか否かを判定してエラーセクタを再利用する処理を説明する。以下説明する処理は、主として内部コントローラ10(図1)の制御に基づく処理である。図3は、実施の形態1における記録エラー発生時の再書き込み処理のフローチャートを示す。まずエラーが発生したユーザーセクタアドレスの論理アドレスkと予備セクタの先頭番号iとを取得する(ステップS301)。次に、予備セクタの先頭番号iが所定の上限値を超えているか否かを判断して、予備セクタの有無をチェックする(ステップS302)。予備セクタの先頭番号iが予め確保しておいた予備セクタの数を超えていれば予備セクタは使い切ってしまっていることになり、これ以上予備セクタを割り当てられない。よってエラー終了となる。一方、予備セクタの先頭番号iが所定の上限値を超えていない場合には、ユーザセクタアドレス変換テーブル15−2(図2の(b))を参照してユーザーセクタアドレスkからエラーカウント値USR_ER[k]を取得する(ステップS303)。そして、エラーカウント値USR_ER[k]に基づいてそのエラーが偶発エラーか否かを判定する(ステップS304)。
【0024】
偶発エラーか否かの判定を2つの具体例で説明する。第1の例としては、偶発エラーか否かを、エラーカウント値USR_ER[k]が規定回数に達しているか否か、すなわちUSR_ER[k]<規定回数であるか否かにより判定する。エラーが規定回数より多く発生しているセクタは不良セクタとみなし、その後の使用はしない。規定回数を何回とするかは適宜決定できるが、例えば10回である。
【0025】
第2の例としては、偶発エラーか否かを、エラーカウントUSR_ER[k]を書換え回数で割った値(記録エラー発生率:USR_ER[k]/(書換え回数)))が規定値に達しているか否かにより判定する。すなわち記録エラー発生率が規定値より大きければそのセクタは不良セクタとみなし、その後の使用はしない。規定値をどの程度にするかは適宜決定できるが、例えば0.20(5回の書き込みに対してエラーが1回生じる値)である。
【0026】
上述の第1の例においてエラーが規定回数以下である場合、または、上述の第2の例において記録エラー発生率が規定値以下である場合には、偶発エラーとみなして次の処理に進む。次の処理は、エラーセクタを予備セクタとして再利用し、データの記録を予備セクタへ代替するための処理である。まずエラーカウント値USR_ER[k]を1加算する(ステップS305)。そしてエラーセクタの物理アドレスUSR_PA[k]、エラーカウント値USR_ER[k]を一旦仮変数tempに退避させる(ステップS306)。これは後の予備セクタとしての登録のためである。その後、予備セクタ番号iの物理アドレスRSV_PA[i]、エラーカウントRSV_ER[i]の各値を、ユーザセクタアドレス変換テーブル15−2のUSR_PA[k]、USR_ER[k]が格納されていた位置(オフセットk)に書き込む(ステップS307)。この処理は、予備セクタを、書き込みの対象であるユーザセクタとして割り当てることを意味する。その結果、この時点で偶発エラーセクタから予備セクタへの代替が完了する。次いで、偶発エラーを起こしたセクタを再度利用できるよう予備セクタとして登録する。具体的には、予備セクタアドレス変換テーブル15−3において、代替に使用したRSV_PA[i]、RSV_ER[i]が格納されていた位置(オフセットi)に、退避させておいた偶発エラーセクタの物理アドレスUSR_PA[k]、エラーカウント値USR_ER[k]を書き込む(ステップS308)。この処理により、偶発エラーセクタが次に使用される予備セクタとして登録されたことになる。換言すれば、この処理は、偶発エラーであるとの判定があったときは偶発エラーセクタと次に使用する予備セクタとを入れ替えることを意味する。その後、処理はステップS311へ進む。
【0027】
一方ステップS304での処理の結果、偶発エラーセクタと判定されなかった場合(すなわち不良セクタと判定された場合)、当該セクタは2度と使用しないので、ユーザセクタアドレス変換テーブル15−2の書き換えを行う。具体的には予備セクタのアドレスRSV_PA[i]およびエラーカウント値RSV_ER[i]を、書き込みの対象であるユーザセクタの物理アドレスUSR_PA[k]、エラーカウント値USR_ER[k]として割り当てる(ステップS309)。この結果、書き換え直前のUSR_PA[k]が示す物理アドレスはもはやユーザセクタアドレス変換テーブル15−2に登録されないこととなり、当該アドレスのセクタは破棄されたことになる。ステップS309の処理の結果、番号iの予備セクタはユーザセクタとして使用されたので、未使用の予備セクタの先頭番号iを1加算し(ステップS310)、ステップS311へ進む。未使用予備セクタの先頭番号iはパラメータとして不揮発性メモリ上に保持する。
【0028】
次に予備セクタによって置き換えられたユーザーセクタ値USR_PA[k]に対しエラーによって正常に完了できなかった書き込み処理を再び行い(ステップS311)、書き込み処理が正常にできたかを判定する(ステップS312)。書き込みが正常に終了していれば処理を終了する。書き込みが正常に終了していなければ再度ステップS302に戻り、ステップS302からの処理を再び行う。
【0029】
本実施の形態によれば、記録エラーが発生しそれが偶発エラーと判定されたセクタは予備セクタに置き換えられるとともに、自身は次に使用されるべき予備セクタとして登録される。記録エラーが生じたセクタが偶発エラーセクタか否かは、累積エラー発生回数に基づいて判定する。不良セクタは何度書き込みを行っても必ずエラーとなるので、除外できる。偶発エラーセクタを再度利用することでエラーセクタの無駄な消耗を防いで記憶容量を確保できる。よって装置の寿命を延ばして低コスト化を実現できる。なお、偶発エラーセクタはエラーは生じたものの、再度の記録時には通常のユーザセクタと同じ性能を有するので、信頼性も高い。
【0030】
(実施の形態2)
実施の形態2では、実施の形態1と異なる手法により、エラーセクタの再利用、およびエラーセクタの破棄を行う発明を説明する。また実施の形態1では、偶発エラーセクタは次に使用されるべき予備セクタとして登録されたが、実施の形態2では、偶発エラーセクタは予備セクタの最後尾に登録される。
【0031】
実施の形態2においても、図1の半導体記憶装置1の構成、および、図2のフラッシュメモリセルアレイ15(図1)のデータ構造を利用する。ただし、図1および図2の説明は、実施の形態1で既にしたので、以下では省略する。
【0032】
図4は、実施の形態2における記録エラー発生時の再書き込み処理のフローチャートを示す。図4を参照して、偶発エラーであるか否かを判定してエラーセクタを再利用する処理を説明する。以下説明する処理は、主として内部コントローラ10(図1)の制御に基づく処理である。まず記録エラーが発生したユーザーセクタアドレスの論理アドレスkと、未使用の予備セクタの数Nとを取得する(ステップS401)。次に、未使用予備セクタ数Nが所定の1以上か否かを判断して、予備セクタの有無をチェックする(ステップS402)。未使用予備セクタ数Nが0であれば予備セクタは使い切ってしまっていることになり、これ以上予備セクタを割り当てられない。よってエラー終了となる。一方、未使用予備セクタ数Nが1以上の場合には、ユーザセクタアドレス変換テーブル15−2(図2の(b))を参照してユーザーセクタアドレスkからエラーカウント値USR_ER[k]を取得する(ステップS403)。そして、エラーカウント値USR_ER[k]に基づいてそのエラーが偶発エラーか否かを判定する(ステップS404)。
【0033】
偶発エラーか否かの判定は、実施の形態1で具体的に説明した2つの例のいずれに基づいても行うことができる。すなわちエラーカウント値USR_ER[k]が規定回数に達しているか否か、または記録エラー発生率が規定値に達しているか否かに基づいて行えばよい。これらの説明は実施の形態1でしたので省略する。
【0034】
偶発エラーと判定した場合、エラーセクタを予備セクタとして再利用し、データの記録を予備セクタへ代替するための処理に進む。まずエラーカウントUSR_ER[k]を1加算する(ステップS405)。そして物理アドレスUSR_PA[k]、エラーカウントUSR_ER[k]を一旦仮変数tempに退避させる(ステップS406)。そして予備セクタ番号0の物理アドレスRSV_PA[0]、エラーカウントRSV_ER[0]の値を、ユーザセクタアドレス変換テーブル15−2のUSR_PA[k]、USR_ER[k]が格納されていた位置(オフセットk)に書き込む(ステップS407)。この処理は、予備セクタを、書き込みの対象であるユーザセクタとして割り当てることを意味する。「予備セクタ番号0」としたのは、予備セクタは常に0番目を使用するからである。その結果、この時点で予備セクタへの代替が完了する。
【0035】
次いで、偶発エラーを起こしたセクタを再度利用できるよう予備セクタとして登録するために、予備セクタアドレス変換テーブルを更新する。予備セクタは常に0番目を使用するので、予備セクタを使用した後1つづつ前にシフトさせ、次の予備セクタが0番目になるようにする(ステップS408)。さらに偶発エラーを起こしたセクタを再度利用できるよう予備セクタの最後尾に登録する(ステップS409)。具体的には、予備セクタアドレス変換テーブルのオフセットパラメータ(N−1)にステップS406で退避させた物理アドレスUSR_PA[k]、エラーカウントUSR_ER[k]を書き込む。この処理により、偶発エラーセクタが予備セクタの最後尾に登録され、将来の使用に備えることができる。その後、処理はステップS413へ進む。
【0036】
一方ステップS404での処理の結果、偶発エラーセクタと判定されなかった場合(すなわち不良セクタと判定された場合)、当該セクタは2度と使用しないので、ユーザセクタアドレス変換テーブル15−2(図2)の書き換えを行う。具体的には予備セクタのアドレスRSV_PA[0]およびエラーカウント値RSV_ER[0]を、書き込みの対象であるユーザセクタの物理アドレスUSR_PA[k]、エラーカウント値USR_ER[k]として割り当てる(ステップS410)。この結果、書き換え直前のUSR_PA[k]が示す物理アドレスはもはやユーザセクタアドレス変換テーブル15−2(図2)に登録されないこととなり、当該アドレスのセクタは破棄されたことになる。ステップS410の処理の結果、番号0の予備セクタはユーザセクタとして使用されたので、予備セクタの番号を1つづつ前にシフトさせ、次の予備セクタが0番目になるようにする(ステップS411)。そして未使用予備セクタ数Nは1つ使用されて減少するので、N−1とする(ステップS412)。未使用予備セクタ数Nはパラメータとして不揮発性メモリ上に保持する。
【0037】
次に予備セクタによって置き換えられたユーザーセクタ値USR_PA[k]に対し記録エラーによって正常に完了できなかった書き込み処理を再び行い(ステップS413)、書き込み処理が正常にできたかを判定する(ステップS414)。書き込みが正常に終了していれば処理を終了する。書き込みが正常に終了していなければ再度ステップS402に戻り、ステップS402からの処理を再び行う。
【0038】
本実施の形態によれば、記録エラーが発生しそれが偶発エラーと判定されたセクタは予備セクタに置き換えられるとともに、自身は予備セクタの最後尾に登録され将来の使用に備える。記録エラーが生じたセクタが偶発エラーセクタか否かは、累積エラー発生回数に基づいて判定する。不良セクタは何度書き込みを行っても必ずエラーとなるので、除外できる。偶発エラーセクタを再度利用することでセクタの無駄な消耗を防いで記憶容量を確保できる。よって装置の寿命を延ばして低コスト化が実現される。なお、実施の形態1で説明したと同様、偶発エラーセクタの信頼性は高い。
【0039】
図3および4を参照して説明した半導体記憶装置1(図1)の処理フローは、このように動作させるプログラムとしても実現される。このようなプログラムは内部コントローラ10(図1)により実行される。
【0040】
【発明の効果】
ユーザセクタのうち記録エラーが発生したエラーセクタに対し、ユーザセクタテーブルに規定されたエラーセクタのエラーカウント値に基づいて、後にデータを記録するか否かを判定する。これにより、記録エラーが発生したセクタであってもデータを記録のために再利用されるため、セクタの無駄な消耗を防いで記憶容量を確保できる。また高い信頼性を有したまま装置の寿命を延ばして低コスト化を実現できる。
【0041】
記録エラーが生じたときにデータを記録する代替のセクタとして予備セクタを設け、後にデータを記録する場合には、エラーセクタを予備セクタに変更する。これにより後に記録エラーが発生した場合に、当該エラーセクタにデータを記録できることとなり、エラーセクタであっても有効に利用できる。
【0042】
予備セクタに対しても、予備セクタへの記録エラーの回数を示すエラーカウント値を規定した予備セクタテーブルを設ける。これにより、予備セクタに後にデータが記録されても、エラーカウント値をユーザセクタテーブルに登録することでユーザセクタとして機能させることができる。
【0043】
後にデータを記録するか否かを判定するために、累積したエラーカウント値を予め設定した値と比較する。これにより、予め設定した値よりも小さい場合にはエラーセクタを有効に再利用できる。
【0044】
エラーセクタから変更された予備セクタには最先の順序が付される。よってエラーセクタを有効に再利用できる。
【0045】
後にデータを記録するか否かを判定するために、エラーセクタのエラーカウント値と記録エラーが発生するまでのエラーセクタへの記録回数との比を、予め設定された値と比較する。これにより、予め設定した値よりも小さい場合にはエラーセクタを有効に再利用できる。
【0046】
エラーセクタから変更された予備セクタには、最後の順序が付される。よってエラーセクタを有効に再利用できる。
【0047】
最先の予備セクタに続く予備セクタの順序を前にずらす。これにより、予備セクタの使用順序が管理できる。
【図面の簡単な説明】
【図1】 不揮発性メモリセルを有する本発明の半導体記憶装置の構成を示すブロック図である。
【図2】 (a)は、フラッシュメモリのメモリマップを示す図である。(b)は、本発明によるユーザセクタアドレス変換テーブルを示す図である。(c)は、予備セクタアドレス変換テーブルを表す図である。
【図3】 実施の形態1における書き込みエラー発生時の再書き込み処理のフローチャートである。
【図4】 実施の形態2における書き込みエラー発生時の再書き込み処理のフローチャートである。
【符号の説明】
1 半導体記憶装置、 10 内部コントローラ、 15 フラッシュメモリセルアレイ、 15−1 ユーザデータ記録領域、 15−2 ユーザセクタアドレス変換テーブル、 15−3 予備セクタアドレス変換テーブル
Claims (7)
- データを記録する複数のユーザセクタと、
ユーザセクタ毎に、該ユーザセクタの位置を示すアドレス、および、該ユーザセクタへの記録エラーの回数を示すエラーカウント値を対応させて規定するユーザセクタテーブルと
を有する不揮発性メモリセルを備え、さらに
前記ユーザセクタのうち記録エラーが発生したエラーセクタに対し、前記ユーザセクタテーブルに規定された該エラーセクタのエラーカウント値に基づいて、後にデータを記録するか否かを判定するコントローラを備え、
前記不揮発性メモリセルは、記録エラーが発生した場合に前記エラーセクタに代えてデータを記録する予備セクタをさらに有しており、
前記コントローラは、後にデータを記録すると判定した前記エラーセクタを、後に使用される予備セクタに変更する、半導体記憶装置。 - 前記不揮発性メモリセルは、予備セクタ毎に、該予備セクタの位置を示すアドレス、および、該予備セクタへの記録エラーの回数を示すエラーカウント値を対応させて規定する予備セクタテーブルをさらに有する、請求項1に記載の半導体記憶装置。
- 前記コントローラは、前記エラーセクタのエラーカウント値が予め設定された値よりも小さい場合には、該エラーセクタに後にデータを記録すると判定し、大きい場合には、該エラーセクタには後にデータを記録しないと判定する、請求項2に記載の半導体記憶装置。
- 前記予備セクタテーブルには、使用される予備セクタの順序が付されており、
前記コントローラは、該エラーセクタに後にデータを記録すると判定した場合には前記順序に基づいて最先の予備セクタにデータを記録し、前記エラーセクタから変更された予備セクタには、最先の順序を付す、請求項3に記載の半導体記憶装置。 - 前記コントローラは、前記エラーセクタのエラーカウント値と記録エラーが発生するまでの前記エラーセクタへの記録回数との比が、予め設定された値よりも小さい場合には、該エラーセクタに後にデータを記録すると判定し、大きい場合には、該エラーセクタには後にデータを記録しないと判定する、請求項2に記載の半導体記憶装置。
- 前記予備セクタテーブルには、予備セクタが使用される順序が付されており、
前記コントローラは、該エラーセクタに後にデータを記録すると判定した場合には、前記順序に基づいて最先の予備セクタにデータを記録し、前記エラーセクタから変更された予備セクタには、最後の順序を付す、請求項5に記載の半導体記憶装置。 - 前記コントローラは、前記最先の予備セクタに続く予備セクタの順序を前にずらす、請求項6に記載の半導体記憶装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2001186418A JP4766781B2 (ja) | 2001-06-20 | 2001-06-20 | 半導体記憶装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2001186418A JP4766781B2 (ja) | 2001-06-20 | 2001-06-20 | 半導体記憶装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2003006055A JP2003006055A (ja) | 2003-01-10 |
| JP4766781B2 true JP4766781B2 (ja) | 2011-09-07 |
Family
ID=19025865
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2001186418A Expired - Fee Related JP4766781B2 (ja) | 2001-06-20 | 2001-06-20 | 半導体記憶装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4766781B2 (ja) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4570891B2 (ja) * | 2004-03-30 | 2010-10-27 | ルネサスエレクトロニクス株式会社 | 記憶装置 |
| JP5272443B2 (ja) * | 2008-02-26 | 2013-08-28 | 日本電気株式会社 | メモリ障害処理システム、メモリ障害処理方法、及びメモリ障害処理プログラム |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3122201B2 (ja) * | 1991-11-30 | 2001-01-09 | 株式会社東芝 | メモリカード装置 |
| ATE225961T1 (de) * | 1996-08-16 | 2002-10-15 | Tokyo Electron Device Ltd | Halbleiterspeicheranordnung mit fehlerdetektion und -korrektur |
| JP3565687B2 (ja) * | 1997-08-06 | 2004-09-15 | 沖電気工業株式会社 | 半導体記憶装置およびその制御方法 |
| JP3242890B2 (ja) * | 1998-12-16 | 2001-12-25 | 株式会社ハギワラシスコム | 記憶装置 |
-
2001
- 2001-06-20 JP JP2001186418A patent/JP4766781B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2003006055A (ja) | 2003-01-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8386698B2 (en) | Data accessing method for flash memory and storage system and controller using the same | |
| JP4688584B2 (ja) | ストレージ装置 | |
| JP3944496B2 (ja) | 複数のデバイスへ同時書き込み操作を行うことにより高まるフラッシュメモリデバイスにおけるメモリ性能 | |
| JP3695766B2 (ja) | メモリの欠陥管理方法 | |
| EP1739683B1 (en) | Space management for managing high capacity nonvolatile memory | |
| JP4695801B2 (ja) | 不揮発性メモリ上で実行されるブロック書き込み動作時間を低減させる方法および装置 | |
| US20070214309A1 (en) | Nonvolatile storage device and data writing method thereof | |
| JP5002201B2 (ja) | メモリシステム | |
| US20080028132A1 (en) | Non-volatile storage device, data storage system, and data storage method | |
| KR19990063715A (ko) | 메모리 시스템 | |
| US7702846B2 (en) | Memory controller, nonvolatile storage device, nonvolatile storage system, and data writing method | |
| JPH08137634A (ja) | フラッシュディスクカード | |
| US8296503B2 (en) | Data updating and recovering methods for a non-volatile memory array | |
| JP2008102900A (ja) | メモリ装置内のアドレッシング可能な空間を再配置させる方法及び装置 | |
| JP2010152913A (ja) | セクタ書き込み操作時間を効果的に減少させるための不揮発性メモリユニット内のブロックの構成 | |
| EP1228510A1 (en) | Space management for managing high capacity nonvolatile memory | |
| US20060062041A1 (en) | Memory device, momory managing method and program | |
| JPWO2007000862A1 (ja) | メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びデータ書き込み方法 | |
| JPWO2005083573A1 (ja) | 半導体メモリ装置 | |
| CN100481024C (zh) | 信息记录介质 | |
| US20090210612A1 (en) | Memory controller, nonvolatile memory device, and nonvolatile memory system | |
| JP4766781B2 (ja) | 半導体記憶装置 | |
| JPH11282765A (ja) | フラッシュメモリを使用した外部記憶装置 | |
| JP4661369B2 (ja) | メモリコントローラ | |
| JP4177292B2 (ja) | メモリンコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20080131 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080414 |
|
| A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20100514 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110329 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110516 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110607 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110614 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140624 Year of fee payment: 3 |
|
| S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| LAPS | Cancellation because of no payment of annual fees |