(57)【要約】【課題】セクタの書換え回数の増加を抑えながら、ディスターブの累積によるデータの変化を防止した半導体記憶装置を提供すること。【解決手段】リフレッシュ・ゾーン検出部２２は、半導体メモリのブロックを、リフレッシュを行なう単位に分割してそれぞれをリフレッシュ・ゾーンとし、書込み対象のセクタがどのリフレッシュ・ゾーンに含まれるかを検出する。リフレッシュ実行部２３は、セクタに対する書込みが発生する毎に、リフレッシュ・ゾーン検出部２２によって検出されたリフレッシュ・ゾーンに含まれるセクタに対するリフレッシュを順次行なう。したがって、特定のセクタに対する書換え回数の増加を防止できると共に、リフレッシュによってディスターブの累積によるデータの変化を防止することが可能となる。【選択図】        図５
2004259144.tif 000002
【特許請求の範囲】
【請求項１】
セクタ単位でデータが書込まれる不揮発性メモリと、該不揮発性メモリのデータ書換えを行なうデータ書換装置とを含んだ半導体記憶装置であって、
前記不揮発性メモリ内の各セクタは、データが格納されるデータエリアと、リフレッシュが行なわれたか否かを示す情報が格納されるリフレッシュマークとを含み、
前記データ書換装置は、前記リフレッシュマークを参照し、当該セクタに対するリフレッシュを行なうか否かを判定してリフレッシュを実行するためのリフレッシュ実行手段を含む、半導体記憶装置。
【請求項２】
前記データ書換装置はさらに、前記不揮発性メモリのブロックを、リフレッシュを行なう単位に分割してそれぞれをリフレッシュ・ゾーンとし、書込み対象のセクタがどのリフレッシュ・ゾーンに含まれるかを検出するためのリフレッシュ・ゾーン検出手段を含み、
前記リフレッシュ実行手段は、セクタに対する書込みが発生する毎に、前記リフレッシュ・ゾーン検出手段によって検出されたリフレッシュ・ゾーンに含まれるセクタに対するリフレッシュを行なう、請求項１記載の半導体記憶装置。
【請求項３】
前記リフレッシュ実行手段は、セクタに対する書込みが発生する毎に、前記リフレッシュ・ゾーン検出手段によって検出されたリフレッシュ・ゾーンに含まれる先頭セクタまたは最終セクタから順次リフレッシュを行なうと共に、当該セクタに含まれるリフレッシュマークに第１の値を設定し、
前記リフレッシュ・ゾーンに含まれる全てのセクタのリフレッシュが完了した後、セクタに対する書込みが発生する毎に、前記リフレッシュ・ゾーン検出手段によって検出されたリフレッシュ・ゾーンに含まれる先頭セクタまたは最終セクタから順次リフレッシュを行なうと共に、当該セクタに含まれるリフレッシュマークに前記第１の値とは異なる第２の値を設定する、請求項２記載の半導体記憶装置。
【請求項４】
前記データ書換装置はさらに、前記不揮発性メモリのブロックを、リフレッシュを行なう単位に分割してそれぞれをリフレッシュ・ゾーンとし、書込み対象のセクタがどのリフレッシュ・ゾーンに含まれるかを検出するためのリフレッシュ・ゾーン検出手段を含み、
前記リフレッシュ実行手段は、前記リフレッシュ・ゾーン検出手段によって検出されたリフレッシュ・ゾーン内のセクタに対するデータ書込みが所定回だけ発生する毎に、当該リフレッシュ・ゾーンに含まれるセクタに対するリフレッシュを行なう、請求項１記載の半導体記憶装置。
【請求項５】
前記リフレッシュ実行手段は、前記リフレッシュ・ゾーン検出手段によって検出されたリフレッシュ・ゾーン内のセクタに対するデータ書込みが所定回だけ発生する毎に、当該リフレッシュ・ゾーンに含まれる先頭セクタまたは最終セクタから順次リフレッシュを行なうと共に、当該セクタに含まれるリフレッシュマークに第１の値を設定し、
前記リフレッシュ・ゾーンに含まれる全てのセクタのリフレッシュが完了した後、当該リフレッシュ・ゾーン内のセクタに対するデータ書込みが所定回だけ発生する毎に、当該リフレッシュ・ゾーンに含まれる先頭セクタまたは最終セクタから順次リフレッシュを行なうと共に、当該セクタに含まれるリフレッシュマークに前記第１の値とは異なる第２の値を設定する、請求項４記載の半導体記憶装置。
【請求項６】
前記不揮発性メモリの各セクタはさらに、データの誤り／訂正用コードを含み、
前記リフレッシュ実行手段は、セクタに対するリフレッシュを行なう際に、前記データの誤り／訂正用コードを用いて訂正を行なった後のデータを当該セクタに書込む、請求項１〜５のいずれかに記載の半導体記憶装置。
【請求項７】
前記不揮発性メモリの各セクタはさらに、当該セクタが不良であるか否かを示す良品コードを含み、
前記リフレッシュ実行手段は、セクタに対するリフレッシュを行なう際に、前記良品コードを参照して当該セクタが不良セクタである場合には、リフレッシュを中断する、請求項１〜６のいずれかに記載の半導体記憶装置。
【請求項８】
前記リフレッシュ実行手段は、前記良品コードを参照して当該セクタが不良セクタである場合には、前記リフレッシュ・ゾーン内の別のセクタに対するリフレッシュを行なう、請求項７記載の半導体記憶装置。
【請求項９】
前記リフレッシュ実行手段は、セクタに対するリフレッシュを行なった後にエラーが発生した場合には、前記良品コードを参照して当該セクタが不良セクタである場合には、当該セクタに対するリフレッシュを中断する、請求項７記載の半導体記憶装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、セクタ単位でデータの書込みが行なわれる半導体メモリを使用した半導体記憶装置に関し、特に、ディスターブの累積によるデータの変化を防止した半導体記憶装置に関する。
【０００２】
【従来の技術】
近年、大容量のメモリに対する要望が高まっており、不揮発性メモリが広く使用されるようになってきている。一般に、不揮発性メモリは、複数のブロックによって構成され、各ブロックはさらに複数のセクタによって構成される。
【０００３】
あるセクタへのデータ書込み／消去が行なわれる場合、ブロック単位で電圧印加が行なわれるため、同一ブロック内の他のセクタにも電圧印加が行なわれる。このとき、他のセクタに若干ではあるが影響（以下、この影響をディスターブと呼ぶ。）を及ぼすことになる。
【０００４】
ディスターブの積み重ねによって、メモリセル毎に保持されている電荷が徐々に抜けてゆき、データ保持時間が短くなる。すなわち、同一ブロック内で全く書込みが行なわれなかったセクタは、同一ブロック内で書込みが行なわれたセクタによるディスターブが累積され、このディスターブの回数が所定回数を超えると、データが変化することになる。この所定回数が、不揮発性メモリの書換え回数よりも大きければ特に問題となることはないが、不揮発性メモリの書換え回数よりも小さいために問題となる。
【０００５】
このようなディスターブの累積によるデータの変化を防止すために、データ書込みが行なわれないセクタを特定ブロックに集めたり、書換え回数をセクタ単位で管理したりすることが必要になる。また、メモリセルのデータを読出し、同じデータを再び書込むといったリフレッシュ動作によって、ディスターブの累積によるデータの変化を防止することも可能である。これに関連する技術として、特開平６−２１５５８４号公報に開示された発明がある。
【０００６】
特開平６−２１５５８４号公報に開示された不揮発性半導体記憶装置においては、リフレッシュ制御回路が、１０２４ビットのフラグセルアレイに記憶されたデータを１番目から順に読出し、最初に消去状態であるフラグセルに到達したら当該フラグセルを書込み状態にすると共に、対応するリフレッシュブロックの不揮発性メモリに対してリフレッシュ動作を行なう。
【０００７】
そして、フラグセルアレイに記憶されたデータを１番目から順に読出した結果、フラグセル最後のフラグセルに到達した場合には、全てのフラグセルが消去状態となるように消去動作が行なわれる。これによって、１０２４回のリフレッシュに対してフラグの消去が１回で済むことになり、リフレッシュカウンタを不揮発性メモリで構成した場合の書込み／消去の集中を防止することが可能となる。
【０００８】
【特許文献１】
特開平６−２１５５８４号公報
【０００９】
【発明が解決しようとする課題】
上述したように、データ書込みが行なわれないセクタを特定ブロックに集めたり、書換え回数をセクタ単位で管理したりすることにより、ディスターブの累積によるデータの変化を防止することが可能である。しかし、その管理方法が複雑になり、半導体記憶装置の処理効率が低下するといった問題点があった。
【００１０】
また、上述した特開平６−２１５５８４号公報に開示された不揮発性メモリにおいては、１０２４ビットのフラグセルアレイによって１０２４個のリフレッシュブロックのリフレッシュを管理することにより、リフレッシュカウンタを不揮発性メモリで構成した場合の書込み／消去の集中を防止するものである。しかし、書込みが行なわれたセクタと同一ブロック内の他のセクタにおけるディスターブの累積の度合いが考慮されていない。すなわち、各ブロックに対して均一にリフレッシュが行なわれることになり、処理効率の低下や書込み回数の増加といった問題点があった。
【００１１】
本発明は、上記問題点を解決するためになされたものであり、その目的は、セクタの書換え回数の増加を抑えながら、ディスターブの累積によるデータの変化を防止した半導体記憶装置を提供することである。
【００１２】
【課題を解決するための手段】
本発明に係る半導体記憶装置は、セクタ単位でデータが書込まれる不揮発性メモリと、不揮発性メモリのデータ書換えを行なうデータ書換装置とを含んだ半導体記憶装置であって、不揮発性メモリ内の各セクタは、データが格納されるデータエリアと、リフレッシュが行なわれたか否かを示す情報が格納されるリフレッシュマークとを含み、データ書換装置は、リフレッシュマークを参照し、セクタに対するリフレッシュを行なうか否かを判定してリフレッシュを実行するためのリフレッシュ実行手段を含む。
【００１３】
【発明の実施の形態】
（第１の実施の形態）
図１は、本発明の第１の実施の形態における半導体記憶装置の概略構成を示すブロック図である。この半導体記憶装置は、半導体記憶装置全体の制御を行なうＭＣＵ（Ｍｉｃｒｏ  Ｃｏｎｔｒｏｌｅｒ  Ｕｎｉｔ）１と、不揮発性メモリなどによって構成される半導体メモリ２とを含む。
【００１４】
ＭＣＵ１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などによって構成され、ＣＰＵがＲＡＭなどに格納されたプログラムを実行することによって半導体メモリ２の制御を行なう。ＭＣＵ１は、制御信号によって半導体メモリ２に対するデータの読出し／書込みなどの制御を行なう。また、データの読出し／書込みは、データバスを介して行なわれる。
【００１５】
図２は、半導体メモリ２のセクタにおけるデータ構造の一例を示す図である。各セクタは、データエリア１１と、管理エリア１２とを含む。また、管理エリア１２は、データエリア１１の誤り検出／訂正用のＥＣＣ（Ｅｒｒｏｒ  Ｃｈｅｃｋｉｎｇ  ａｎｄ  Ｃｏｒｒｅｃｔｉｎｇ）コード１３と、セクタの良／不良を示す良品コード１４と、リフレッシュが行なわれたか否かを示すリフレッシュマーク１５とを含む。
【００１６】
図３は、本発明の第１の実施の形態における半導体メモリ２の概略構成を示すブロック図である。半導体メモリ２は、複数のブロックによって構成され、各ブロックはさらに複数のセクタによって構成される。
【００１７】
図３に示すような半導体メモリ、たとえば不揮発性メモリを用いた場合、全てのセクタが良品ではない場合があるため、良品のセクタのみに論理的なアドレスを割当てる必要がある。論理的なアドレスが割当てられた良品のセクタを論理セクタと呼び、良品および不良品のセクタを併せて物理セクタと呼び、論理セクタのアドレス（番号）から物理セクタのアドレス（番号）への変換を論理／物理セクタ変換と呼ぶことにする。
【００１８】
図４は、論理／物理セクタ変換を説明するための図である。物理セクタ＃２および＃４が不良品であるため、論理セクタ＃０として物理セクタ＃０が割当てられ、論理セクタ＃１として物理セクタ＃１が割当てられ、論理セクタ＃２として物理セクタ＃３が割当てられ、論理セクタ＃３として物理セクタ＃５が割当てられる。論理／物理セクタ変換に関する情報は、特定のセクタに書込まれて管理される。そして、この論理／物理セクタ変換に関する情報は、上述したＲＡＭに転送されてＣＰＵによって参照される。
【００１９】
論理セクタが劣化して、データの書込み／消去ができなくなった場合には、ＣＰＵは当該論理セクタ番号を別の物理セクタ番号に割当て、論理／物理セクタ変換に関する情報を更新する。更新された論理／物理セクタ変換に関する情報は、ＲＡＭおよび上記特定のセクタに反映される。
【００２０】
図５は、本発明の第１の実施の形態におけるＭＣＵ１がプログラムを実行することによって実現されるデータ書換え機能（以下、データ書換装置と呼ぶ。）の機能的構成を示すブロック図である。データ書換装置は、論理セクタから物理セクタへの変換を行なう論理／物理セクタ変換部２１と、リフレッシュ対象となる１つまたは複数のブロック（以下、リフレッシュ・ゾーンと呼ぶ。）を検出するリフレッシュ・ゾーン検出部２２と、リフレッシュ・ゾーンに含まれるセクタに対してリフレッシュを実行するリフレッシュ実行部２３と、対象となるセクタのデータ更新を行なうデータ更新部２４とを含む。
【００２１】
図６は、本発明の第１の実施の形態における半導体記憶装置の処理手順を説明するためのフローチャートである。まず、ある論理セクタに対するデータ書込みがある場合、論理／物理セクタ変換部２１は、その論理セクタを物理セクタに変換する（Ｓ１）。
【００２２】
次に、リフレッシュ・ゾーン検出部２２は、論理／物理セクタ変換部２１によって変換された物理セクタ番号に基づいて、リフレッシュの対象となるリフレッシュ・ゾーンを検出する（Ｓ２）。
【００２３】
次に、リフレッシュ実行部２３は、リフレッシュフラグをセットし（Ｓ３）、リフレッシュ・ゾーン内のリフレッシュ対象となる１セクタを検出してリフレッシュを実行すると共に、このセクタのリフレッシュマーク１５の内容を更新する（Ｓ４）。本実施の形態におけるリフレッシュは、書換え回数を考慮せずに、リフレッシュ・ゾーン内の先頭セクタから順番にセクタ内の情報の再書込み（同一内容の書込み）を行なうものである。セクタへのデータ書込みによるディスターブの累積によってデータが変化する前に、再書込みが行なわれることによって、メモリセルにごとに保持される電荷の再充電が行なわれ、データが変化することを防止することが可能となる。
【００２４】
たとえば、１ブロックに対して１０万回の書込みを行なったときに、全く書込みを行なわなかったセクタのデータがディスターブの累積によって変化するのであれば、１ブロックに対して１０万回の書込みが行なわれる間に全セクタのリフレッシュを行なうようにすれば、データの変化を防止することが可能となる。
【００２５】
また、リフレッシュマーク１５の内容の更新は、たとえばリフレッシュの１巡目にはリフレッシュを行なったセクタ内のリフレッシュマークに“５５”が書込まれ、リフレッシュの２巡目にはリフレッシュを行なったセクタ内のリフレッシュマークに“ＡＡ”が書込まれ、以降これらの値が交互に書込まれることによって行なわれる。リフレッシュ実行部２３は、リフレッシュ・ゾーン内のセクタのリフレッシュマークが“５５”から”ＡＡ”、または“ＡＡ”から“５５”に変化する箇所を検出して、どのセクタまでリフレッシュが行なわれているかを検出する。
【００２６】
リフレッシュが完了すると、リフレッシュ実行部２３はリフレッシュフラグをクリアする（Ｓ５）。そして、データ更新部２４は、データ書込み対象のセクタにデータを書込み（Ｓ６）、処理を終了する。なお、リフレッシュフラグは、セクタに対するリフレッシュの最中であるか否かを判定する際に参照される。
【００２７】
また、ステップＳ３〜Ｓ５において、データ書込み対象のセクタと、リフレッシュ対象のセクタとが同じ場合には、当該セクタに対するリフレッシュを行なわず、データ更新（Ｓ６）のみを行なうようにしてもよい。
【００２８】
以上説明したように、本実施の形態における半導体記憶装置によれば、あるセクタにデータ書込みを行なう際、そのセクタからリフレッシュ・ゾーンを検出し、リフレッシュ・ソーン内の１セクタのみを順次リフレッシュするようにしたので、リフレッシュ・ゾーンに含まれるセクタ数と同じ回数だけセクタへのデータ書込みがあると、必ず１回は各セクタがリフレッシュされることになり、ディスターブの累積によるデータの変化を防止することが可能となった。
【００２９】
また、各セクタ内にリフレッシュマーク１５を設け、リフレッシュ時にこのリフレッシュマーク１５の内容を更新し、リフレッシュマークを参照してリフレッシュ対象のセクタを検索するするようにしたので、リフレッシュカウンタを設ける必要がなくなった。そのため、リフレッシュカウンタを不揮発性メモリで構成した場合に発生する書込み／消去の集中を防止することが可能となった。
【００３０】
（第２の実施の形態）
本発明の第１の実施の形態においては、１つのセクタへのデータ書込みが発生する度に、１つのセクタに対するリフレッシュが行なわれるので、書込み効率が悪くなると共に、頻繁にリフレッシュが行なわれるようになり、半導体メモリ２の書換え回数上限に早く到達する可能性がある。本発明の第２の実施の形態における半導体記憶装置は、この点を改善したものである。
【００３１】
本実施の形態における半導体記憶装置の概略構成は、図１に示す第１の実施の形態における半導体記憶装置の概略構成と同様である。また、本実施の形態におけるデータ書換装置は、図５に示す第１の実施の形態におけるデータ書換装置と比較して、リフレッシュ・ゾーン検出部２２およびリフレッシュ実行部２３の機能が異なる点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰返さない。なお、本実施の形態におけるリフレッシュ・ゾーン検出部およびリフレッシュ実行部の参照符号をそれぞれ２２ａおよび２３ａとして説明する。
【００３２】
図７は、本発明の第２の実施の形態における半導体記憶装置の処理手順を説明するためのフローチャートである。まず、ある論理セクタに対するデータ書込みがある場合、論理／物理セクタ変換部２１は、その論理セクタを物理セクタに変換する（Ｓ１１）。
【００３３】
次に、リフレッシュ・ゾーン検出部２２ａは、論理／物理セクタ変換部２１によって変換された物理セクタ番号に基づいて、リフレッシュの対象となるリフレッシュ・ゾーンを検出し、そのリフレッシュゾーンに対応したリフレッシュ・ゾーン・カウンタの値をデクリメントする（Ｓ１２）。
【００３４】
リフレッシュ・ゾーン・カウンタはリフレッシュ・ゾーン毎に設けられ、それぞれのカウンタの値がＲＡＭに格納される。初期設定時に、リフレッシュ・ゾーン検出部２２ａは、リフレッシュ・ゾーン・カウンタに所定値を設定する。そして、セクタに対するデータ書込みがあると、リフレッシュ・ゾーン検出部２２ａは、そのセクタが含まれるリフレッシュ・ゾーンに対応するリフレッシュ・ゾーン・カウンタの値をデクリメントする。
【００３５】
次に、リフレッシュ実行部２３ａは、リフレッシュ・ゾーン・カウンタの値が“０”であるか否かを判定する（Ｓ１３）。リフレッシュ・ゾーン・カウンタの値が“０”でなければ（Ｓ１３，Ｎｏ）、リフレッシュが行なわれず、データ更新部２４がセクタに対するデータ書込みを行ない（Ｓ１７）、処理を終了する。
【００３６】
また、リフレッシュ・ゾーン・カウンタの値が“０”であれば（Ｓ１３，Ｙｅｓ）、リフレッシュ実行部２３ａは、リフレッシュフラグをセットし（Ｓ１４）、リフレッシュ・ゾーン内のリフレッシュ対象となる１セクタを検出してリフレッシュを実行すると共に、このセクタのリフレッシュマーク１５の内容を更新する（Ｓ１５）。本実施の形態におけるリフレッシュは、セクタへのデータ書込みが所定回行なわれる毎に、リフレッシュ・ゾーン内の先頭セクタから順番に１セクタ内の情報の再書込みを行なうものである。
【００３７】
リフレッシュが完了すると、リフレッシュ実行部２３ａはリフレッシュフラグをクリアし、リフレッシュ・ゾーン・カウンタに所定値を設定する（Ｓ１６）。そして、データ更新部２４は、データ書込み対象のセクタにデータを書込み（Ｓ１７）、処理を終了する。
【００３８】
また、ステップＳ１４〜Ｓ１６において、データ書込み対象のセクタと、リフレッシュ対象のセクタとが同じ場合には、当該セクタに対するリフレッシュを行なわず、リフレッシュマーク１５の内容の更新およびセクタのデータ更新（Ｓ１７）のみを行なうようにしてもよい。
【００３９】
以上説明したように、本実施の形態における半導体記憶装置によれば、あるセクタにデータ書込みを行なう際、そのセクタからリフレッシュ・ゾーンを検出し、リフレッシュ・ゾーン内のセクタに対するデータ書込みが所定回となる毎に、当該リフレッシュ・ゾーン内の１セクタをリフレッシュするようにしたので、第１の実施の形態において説明した効果に加えて、リフレッシュの発生頻度を抑えることができ、半導体メモリ２の書換え回数上限に早く到達することを防止することが可能となった。
【００４０】
（第３の実施の形態）
本実施の形態における半導体記憶装置の概略構成は、図１に示す第１の実施の形態における半導体記憶装置の概略構成と同様である。また、本実施の形態におけるデータ書換装置は、図５に示す第１の実施の形態におけるデータ書換装置と比較して、リフレッシュ・ゾーン検出部２２およびリフレッシュ実行部２３の機能が異なる点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰返さない。なお、本実施の形態におけるリフレッシュ・ゾーン検出部およびリフレッシュ実行部の参照符号をそれぞれ２２ｂおよび２３ｂとして説明する。
【００４１】
図８は、本発明の第３の実施の形態における半導体記憶装置の処理手順を説明するためのフローチャートである。まず、ある論理セクタに対するデータ書込みがある場合、論理／物理セクタ変換部２１は、その論理セクタを物理セクタに変換する（Ｓ２１）。
【００４２】
次に、リフレッシュ・ゾーン検出部２２ｂは、論理／物理セクタ変換部２１によって変換された物理セクタ番号に基づいて、リフレッシュの対象となるリフレッシュ・ゾーンを検出し、そのリフレッシュゾーンに対応したリフレッシュ・ゾーン・カウンタの値をデクリメントする（Ｓ２２）。
【００４３】
次に、リフレッシュ実行部２３ｂは、リフレッシュ・ゾーン・カウンタの値が“０”であるか否かを判定する（Ｓ２３）。リフレッシュ・ゾーン・カウンタの値が“０”でなければ（Ｓ２３，Ｎｏ）、リフレッシュが行なわれず、データ更新部２４がセクタに対するデータ書込みを行ない（Ｓ２９）、処理を終了する。
【００４４】
また、リフレッシュ・ゾーン・カウンタの値が“０”であれば（Ｓ２３，Ｙｅｓ）、リフレッシュ実行部２３ｂは、リフレッシュフラグをセットし（Ｓ２４）、リフレッシュ・ゾーン内のリフレッシュ対象となる１セクタを検出し、当該セクタからデータを読出すと共に、ＥＣＣコード１３を読出す（Ｓ２５）。
【００４５】
リフレッシュ実行部２３ｂは、ＥＣＣコード１３を用いてデータの誤り検出／訂正を行ない（Ｓ２６）、訂正後のデータを同じセクタに書込むことによってリフレッシュを行なう（Ｓ２７）。
【００４６】
リフレッシュが完了すると、リフレッシュ実行部２３ｂはリフレッシュフラグをクリアし、リフレッシュ・ゾーン・カウンタに所定値を設定する（Ｓ２８）。そして、データ更新部２４は、データ書込み対象のセクタにデータを書込み（Ｓ２９）、処理を終了する。
【００４７】
また、ステップＳ２４〜Ｓ２８において、データ書込み対象のセクタと、リフレッシュ対象のセクタとが同じ場合には、当該セクタに対するリフレッシュを行なわず、リフレッシュマーク１５の内容の更新およびセクタのデータ更新（Ｓ２９）のみを行なうようにしてもよい。
【００４８】
以上説明したように、本実施の形態における半導体記憶装置によれば、リフレッシュ・ゾーン内のセクタに対するデータ書込みが所定回となる毎に、当該リフレッシュ・ゾーン内の１セクタのデータの誤り検出／訂正を行なった後、訂正後のデータを同じセクタに書込むようにしたので、第２の実施の形態において説明した効果に加えて、ディスターブの累積によってデータの一部が変化した場合であっても、そのデータの誤り検出および訂正を行なうことが可能となった。
【００４９】
（第４の実施の形態）
本実施の形態における半導体記憶装置の概略構成は、図１に示す第１の実施の形態における半導体記憶装置の概略構成と同様である。また、本実施の形態におけるデータ書換装置は、図５に示す第１の実施の形態におけるデータ書換装置と比較して、リフレッシュ・ゾーン検出部２２およびリフレッシュ実行部２３の機能が異なる点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰返さない。なお、本実施の形態におけるリフレッシュ・ゾーン検出部およびリフレッシュ実行部の参照符号をそれぞれ２２ｃおよび２３ｃとして説明する。
【００５０】
図９は、本発明の第４の実施の形態における半導体記憶装置の処理手順を説明するためのフローチャートである。まず、ある論理セクタに対するデータ書込みがある場合、論理／物理セクタ変換部２１は、その論理セクタを物理セクタに変換する（Ｓ３１）。
【００５１】
次に、リフレッシュ・ゾーン検出部２２ｃは、論理／物理セクタ変換部２１によって変換された物理セクタ番号に基づいて、リフレッシュの対象となるリフレッシュ・ゾーンを検出し、そのリフレッシュゾーンに対応したリフレッシュ・ゾーン・カウンタの値をデクリメントする（Ｓ３２）。
【００５２】
次に、リフレッシュ実行部２３ｃは、リフレッシュ・ゾーン・カウンタの値が“０”であるか否かを判定する（Ｓ３３）。リフレッシュ・ゾーン・カウンタの値が“０”でなければ（Ｓ３３，Ｎｏ）、リフレッシュが行なわれず、データ更新部２４がセクタに対するデータ書込みを行ない（Ｓ４０）、処理を終了する。
【００５３】
また、リフレッシュ・ゾーン・カウンタの値が“０”であれば（Ｓ３３，Ｙｅｓ）、リフレッシュ実行部２３ｃは、リフレッシュフラグをセットし（Ｓ３４）、リフレッシュ・ゾーン内のリフレッシュ対象となる１セクタを検出し、当該セクタからデータを読出すと共に、ＥＣＣコード１３を読出す（Ｓ３５）。
【００５４】
次に、リフレッシュ実行部２３ｃは、同じセクタから良品コード１４を読出して、当該セクタが不良セクタであるか否かによってリフレッシュが必要なセクタであるか否かを判定する（Ｓ３６）。
【００５５】
リフレッシュが不要なセクタであれば（Ｓ３６，Ｎｏ）、ステップＳ３７へ処理が進む。また、リフレッシュが必要なセクタであれば（Ｓ３６，Ｙｅｓ）、リフレッシュ実行部２３ｃは、ＥＣＣコード１３を用いてデータの誤り検出／訂正を行ない（Ｓ３７）、訂正後のデータを同じセクタに書込むことによってリフレッシュを行なう（Ｓ３８）。
【００５６】
リフレッシュが完了すると、リフレッシュ実行部２３ｃはリフレッシュフラグをクリアし、リフレッシュ・ゾーン・カウンタに所定値を設定する（Ｓ３９）。そして、データ更新部２４は、データ書込み対象のセクタにデータを書込み（Ｓ４０）、処理を終了する。
【００５７】
また、ステップＳ３４〜Ｓ３９において、データ書込み対象のセクタと、リフレッシュ対象のセクタとが同じ場合には、当該セクタに対するリフレッシュを行なわず、リフレッシュマーク１５の内容の更新およびセクタのデータ更新（Ｓ４０）のみを行なうようにしてもよい。
【００５８】
以上説明したように、本実施の形態における半導体記憶装置によれば、リフレッシュ・ゾーン内のセクタに対するデータ書込みが所定回となる毎に、当該リフレッシュ・ゾーン内の１セクタが不良セクタであるか否かを判定し、不良セクタでない場合にのみデータの誤り検出／訂正を行なった後、訂正後のデータを同じセクタに書込むようにしたので、第３の実施の形態において説明した効果に加えて、不良セクタに対するリフレッシュを防止して、処理効率の向上を図ることが可能となった。
【００５９】
（第５の実施の形態）
本実施の形態における半導体記憶装置の概略構成は、図１に示す第１の実施の形態における半導体記憶装置の概略構成と同様である。また、本実施の形態におけるデータ書換装置は、図５に示す第１の実施の形態におけるデータ書換装置と比較して、リフレッシュ・ゾーン検出部２２およびリフレッシュ実行部２３の機能が異なる点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰返さない。なお、本実施の形態におけるリフレッシュ・ゾーン検出部およびリフレッシュ実行部の参照符号をそれぞれ２２ｄおよび２３ｄとして説明する。
【００６０】
図１０は、本発明の第５の実施の形態における半導体記憶装置の処理手順を説明するためのフローチャートである。まず、ある論理セクタに対するデータ書込みがある場合、論理／物理セクタ変換部２１は、その論理セクタを物理セクタに変換する（Ｓ４１）。
【００６１】
次に、リフレッシュ・ゾーン検出部２２ｄは、論理／物理セクタ変換部２１によって変換された物理セクタ番号に基づいて、リフレッシュの対象となるリフレッシュ・ゾーンを検出し、そのリフレッシュゾーンに対応したリフレッシュ・ゾーン・カウンタの値をデクリメントする（Ｓ４２）。
【００６２】
次に、リフレッシュ実行部２３ｄは、リフレッシュ・ゾーン・カウンタの値が“０”であるか否かを判定する（Ｓ４３）。リフレッシュ・ゾーン・カウンタの値が“０”でなければ（Ｓ４３，Ｎｏ）、リフレッシュが行なわれず、データ更新部２４がセクタに対するデータ書込みを行ない（Ｓ５１）、処理を終了する。
【００６３】
また、リフレッシュ・ゾーン・カウンタの値が“０”であれば（Ｓ４３，Ｙｅｓ）、リフレッシュ実行部２３ｄは、リフレッシュフラグをセットし（Ｓ４４）、リフレッシュ・ゾーン内のリフレッシュ対象となる１セクタを検出し、当該セクタからデータを読出すと共に、ＥＣＣコード１３を読出す（Ｓ４５）。
【００６４】
次に、リフレッシュ実行部２３ｄは、同じセクタから良品コード１４を読出して、当該セクタが不良セクタであるか否かによってリフレッシュが必要なセクタであるか否かを判定する（Ｓ４６）。
【００６５】
リフレッシュが不要なセクタであれば（Ｓ４６，Ｎｏ）、セクタポインタをインクリメントし（Ｓ４７）、ステップＳ４５に戻って以降の処理を繰返す。このセクタポインタは、リフレッシュ対象となるセクタを指し示すポインタであり、リフレッシュ・ゾーン内のセクタ数となるまで、順次インクリメントされる。セクタポインタが、リフレッシュ・ゾーン内のセクタ数に達すると、セクタポインタの値が初期化される。
【００６６】
また、リフレッシュが必要なセクタであれば（Ｓ４６，Ｙｅｓ）、リフレッシュ実行部２３ｄは、ＥＣＣコード１３を用いてデータの誤り検出／訂正を行ない（Ｓ４８）、訂正後のデータを同じセクタに書込むことによってリフレッシュを行なう（Ｓ４９）。
【００６７】
リフレッシュが完了すると、リフレッシュ実行部２３ｄはリフレッシュフラグをクリアし、リフレッシュ・ゾーン・カウンタに所定値を設定する（Ｓ５０）。そして、データ更新部２４は、データ書込み対象のセクタにデータを書込み（Ｓ５１）、処理を終了する。
【００６８】
また、ステップＳ４４〜Ｓ５０において、データ書込み対象のセクタと、リフレッシュ対象のセクタとが同じ場合には、当該セクタに対するリフレッシュを行なわず、リフレッシュマーク１５の内容の更新およびセクタのデータ更新（Ｓ５１）のみを行なうようにしてもよい。
【００６９】
以上説明したように、本実施の形態における半導体記憶装置によれば、リフレッシュ・ゾーン内のセクタに対するデータ書込みが所定回となる毎に、当該リフレッシュ・ゾーン内の１セクタが不良セクタであるか否かを判定し、不良セクタの場合には次のセクタのリフレッシュを行なうようにしたので、第４の実施の形態において説明した効果に加えて、さらに処理効率の向上を図ることが可能となった。
【００７０】
（第６の実施の形態）
本実施の形態における半導体記憶装置の概略構成は、図１に示す第１の実施の形態における半導体記憶装置の概略構成と同様である。また、本実施の形態におけるデータ書換装置は、図５に示す第１の実施の形態におけるデータ書換装置と比較して、リフレッシュ・ゾーン検出部２２およびリフレッシュ実行部２３の機能が異なる点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰返さない。なお、本実施の形態におけるリフレッシュ・ゾーン検出部およびリフレッシュ実行部の参照符号をそれぞれ２２ｅおよび２３ｅとして説明する。
【００７１】
図１１は、本発明の第６の実施の形態における半導体記憶装置の処理手順を説明するためのフローチャートである。まず、ある論理セクタに対するデータ書込みがある場合、論理／物理セクタ変換部２１は、その論理セクタを物理セクタに変換する（Ｓ６１）。
【００７２】
次に、リフレッシュ・ゾーン検出部２２ｅは、論理／物理セクタ変換部２１によって変換された物理セクタ番号に基づいて、リフレッシュの対象となるリフレッシュ・ゾーンを検出し、そのリフレッシュゾーンに対応したリフレッシュ・ゾーン・カウンタの値をデクリメントする（Ｓ６２）。
【００７３】
次に、リフレッシュ実行部２３ｅは、リフレッシュ・ゾーン・カウンタの値が“０”であるか否かを判定する（Ｓ６３）。リフレッシュ・ゾーン・カウンタの値が“０”でなければ（Ｓ６３，Ｎｏ）、リフレッシュが行なわれず、データ更新部２４がセクタに対するデータ書込みを行ない（Ｓ７２）、処理を終了する。
【００７４】
また、リフレッシュ・ゾーン・カウンタの値が“０”であれば（Ｓ６３，Ｙｅｓ）、リフレッシュ実行部２３ｅは、リフレッシュフラグをセットし（Ｓ６４）、リフレッシュ・ゾーン内のリフレッシュ対象となる１セクタを検出し、当該セクタからデータを読出すと共に、ＥＣＣコード１３を読出す（Ｓ６５）。
【００７５】
次に、リフレッシュ実行部２３ｅは、ＥＣＣコード１３を用いてデータの誤り検出／訂正を行ない（Ｓ６６）、訂正後のデータを同じセクタに書込むことによってリフレッシュを行なう（Ｓ６７）。リフレッシュを行なった後に、エラーが発生した場合には（Ｓ６８，Ｙｅｓ）、リフレッシュ実行部２３ｅは、同じセクタから読出された良品コード１４に基づいて、当該セクタが不良セクタであるか否かによってリフレッシュが必要なセクタであるか否かを判定する（Ｓ６９）。
【００７６】
リフレッシュが必要なセクタであれば（Ｓ６９，Ｙｅｓ）、論理セクタを別の物理セクタに割当てるなどのエラー処理を行なう（Ｓ７１）。また、リフレッシュが不要なセクタであれば（Ｓ７１，Ｎｏ）、リフレッシュ実行部２３ｅはリフレッシュフラグをクリアし、リフレッシュ・ゾーン・カウンタに所定値を設定する（Ｓ７０）。そして、データ更新部２４は、データ書込み対象のセクタにデータを書込み（Ｓ７２）、処理を終了する。
【００７７】
また、ステップＳ６４〜Ｓ７１において、データ書込み対象のセクタと、リフレッシュ対象のセクタとが同じ場合には、当該セクタに対するリフレッシュを行なわず、リフレッシュマーク１５の内容の更新およびセクタのデータ更新（Ｓ７２）のみを行なうようにしてもよい。
【００７８】
以上説明したように、本実施の形態における半導体記憶装置によれば、リフレッシュ・ゾーン内のセクタに対するデータ書込みが所定回となる毎に、当該リフレッシュ・ゾーン内の１セクタに対してリフレッシュを行ない、エラーが発生した場合にはエラー処理を行なうようにしたので、第５の実施の形態において説明した効果に加えて、リフレッシュ時に発生するエラーに応じた処理を行なうことが可能となった。
【００７９】
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【００８０】
【発明の効果】
リフレッシュ実行手段が、各セクタに設けられたリフレッシュマークを参照し、セクタに対するリフレッシュを行なうか否かを判定してリフレッシュを実行するので、特定のセクタに対する書換え回数の増加を防止でき、リフレッシュによってディスターブの累積によるデータの変化を防止することが可能となった。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態における半導体記憶装置の概略構成を示すブロック図である。
【図２】半導体メモリ２のセクタにおけるデータ構造の一例を示す図である。
【図３】本発明の第１の実施の形態における半導体メモリ２の概略構成を示すブロック図である。
【図４】論理／物理セクタ変換を説明するための図である。
【図５】本発明の第１の実施の形態におけるデータ書換装置の機能的構成を示すブロック図である。
【図６】本発明の第１の実施の形態における半導体記憶装置の処理手順を説明するためのフローチャートである。
【図７】本発明の第２の実施の形態における半導体記憶装置の処理手順を説明するためのフローチャートである。
【図８】本発明の第３の実施の形態における半導体記憶装置の処理手順を説明するためのフローチャートである。
【図９】本発明の第４の実施の形態における半導体記憶装置の処理手順を説明するためのフローチャートである。
【図１０】本発明の第５の実施の形態における半導体記憶装置の処理手順を説明するためのフローチャートである。
【図１１】本発明の第６の実施の形態における半導体記憶装置の処理手順を説明するためのフローチャートである。
【符号の説明】
１  ＭＣＵ、２  半導体メモリ、１１  データエリア、１２  管理エリア、１３  ＥＣＣコード、１４  良品コード、１５  リフレッシュマーク、２１  論理／物理セクタ変換部、２２  リフレッシュ・ゾーン検出部、２３  リフレッシュ実行部、２４  データ更新部。
【図１】
2004259144.tif 000003
【図２】
2004259144.tif 000004
【図３】
2004259144.tif 000005
【図４】
2004259144.tif 000006
【図５】
2004259144.tif 000007
【図６】
2004259144.tif 000008
【図７】
2004259144.tif 000009
【図８】
2004259144.tif 000010
【図９】
2004259144.tif 000011
【図１０】
2004259144.tif 000012
【図１１】
2004259144.tif 000013