(57)【要約】      （修正有）【課題】製品寿命の長い半導体メモリ装置を提供する。【解決手段】半導体メモリ装置２は、書き替え頻度が高い第１の領域と、書き替え頻度が低い第２の領域と、フリーブロック領域と、に分類される半導体メモリ部３０と、所定のタイミングで、第２の領域のブロックに記憶されたデータをフリーブロック領域の最上位エントリのブロックにコピーするとともに、データが記憶されていたブロックを前記第２の領域から解放してフリーブロック領域の最下位にエントリするように制御するメモリコントローラ１０と、を具備する。【選択図】図１
2012014400.tif 000002
【特許請求の範囲】
【請求項１】
書き替え頻度が高い論理アドレス範囲のデータを記憶するブロックからなる第１の領域と、前記書き替え頻度が低い論理アドレス範囲のデータを記憶するブロックからなる第２の領域と、前記第１または第２の領域からの解放順にエントリされた記憶可能ブロックからなるフリーブロック領域と、に分類される半導体メモリ部と、
前記第１の領域のブロックに記憶されたデータを書き替えるときに、書き替え後のデータを前記フリーブロック領域の最上位エントリのブロックに記憶するとともに、前記データが記憶されていたブロックを前記第１の領域から解放して前記フリーブロック領域の最下位にエントリし、
所定のタイミングで、前記第２の領域のブロックに記憶されたデータを、前記フリーブロック領域の最上位エントリのブロックにコピーするとともに、前記データが記憶されていたブロックを前記第２の領域から解放して前記フリーブロック領域の最下位にエントリするように制御するメモリコントローラと、を具備することを特徴とする半導体メモリ装置。
【請求項２】
前記所定のタイミングが、前記半導体メモリ部に記憶されるデータの書き替え回数もしくは所定の時間間隔もしくは所定の起動回数のいずれか、または接続されたホストデバイスからのコマンド指示に、もとづくことを特徴とする請求項１に記載の半導体メモリ装置。
【請求項３】
所定のタイミングのたびに、前記第２の領域のブロックに記憶されたデータの一部を、順に書き替えることを特徴とする請求項１または請求項２に記載の半導体メモリ装置。
【請求項４】
前記半導体メモリ部が、記憶されるデータの書き替えが必要ない論理アドレス範囲のデータを記憶するブロックからなる第３の領域を有することを特徴とする請求項１から請求項３のいずれか１項に記載の半導体メモリ装置。
【請求項５】
ホストデバイスと、
請求項１から請求項４のいずれか１項に記載の半導体メモリ装置と、を具備することを特徴とする半導体メモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホストデバイスからのデータを記憶する半導体メモリを有する半導体メモリ装置、および、ホストデバイスと半導体メモリ装置とを具備する半導体メモリシステムに関する。
【背景技術】
【０００２】
ＮＡＮＤ型フラッシュメモリを有する不揮発性半導体メモリ装置は、メモリセルに記憶されたデータをブロックと呼ばれる複数のメモリセル単位で一括して消去処理を行うことにより構造を簡略化し、安価かつ大容量を実現している。半導体メモリ装置は可動部がなく低消費電力であることから、携帯電話または携帯音楽プレーヤ等のホストデバイスの記憶装置として広く利用されている。しかし、ＮＡＮＤ型フラッシュメモリには、書き込み／消去回数の制限があることが知られている。
【０００３】
この制限は、メモリセルに対する消去処理では、基板に対してゲートに高電圧がかけられフローティングゲートに電子が注入されることに起因する。消去処理が何回も実行されるとフローティングゲート周りの酸化膜が劣化し、データが破壊されてしまうことがある。消去処理が特定のメモリセルに集中することを回避して製品寿命を長くするために、消去処理回数の多いメモリセルと少ないメモリセルとを入れ替えて、メモリセルの劣化進行の平均化をはかる、いわゆるウェアレベリング（wear leveling）が実施されている。
【０００４】
さらに、書き替え頻度が高いデータを記憶する領域（パーティション）と、書き替え頻度が低いデータを記憶する領域（パーティション）と、のサイズを同じにしておき、所定のタイミングで、２つの領域に記憶されたデータを互いに入れ替えることにより、半導体メモリ全体のウェアレベリング処理を平均化する半導体メモリ装置が知られている。
【０００５】
なお、ウェアレベリングを行う半導体メモリ装置では、ホストデバイスが半導体メモリ中の個々のメモリセルの物理的な位置を示す物理アドレスを用いてデータ記憶位置を特定することは困難である。このため論理空間という概念を構築し、物理アドレスを論理空間における位置を示す論理アドレスに変換している。論理アドレスを物理アドレスに変換するためには、論理アドレス（logical address）／物理アドレス（physical address）変換テーブル（以下、「論物（Ｌ／Ｐ）変換テーブル」という。）が用いられている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−２２５５７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明の実施形態は、製品寿命の長い半導体メモリ装置および製品寿命の長い半導体メモリシステム、を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成すべく、本発明の一態様の半導体メモリ装置は、書き替え頻度が高い論理アドレス範囲のデータを記憶するブロックからなる第１の領域と、前記書き替え頻度が低い論理アドレス範囲のデータを記憶するブロックからなる第２の領域と、前記第１または第２の領域からの解放順にエントリされた記憶可能ブロックからなるフリーブロック領域と、に分類される半導体メモリ部と、前記第１の領域のブロックに記憶されたデータを書き替えるときに、書き替え後のデータを前記フリーブロック領域の最上位エントリのブロックに記憶するとともに、前記データが記憶されていたブロックを前記第１の領域から解放して前記フリーブロック領域の最下位にエントリし、所定のタイミングで、前記第２の領域のブロックに記憶されたデータを、前記フリーブロック領域の最上位エントリのブロックにコピーするとともに、前記データが記憶されていたブロックを前記第２の領域から解放して前記フリーブロック領域の最下位にエントリするように制御するメモリコントローラと、を具備する。
【図面の簡単な説明】
【０００９】
【図１】本実施の形態の半導体メモリシステムの構成図である。
【図２】半導体メモリ部の構成を説明するための説明図である。
【図３】本実施の形態の半導体メモリ装置の処理を説明するための説明図である。
【図４】本実施の形態の半導体メモリ装置の処理の流れを説明するためのフローチャートである。
【発明を実施するための形態】
【００１０】
本発明の実施形態の半導体メモリ装置２および半導体メモリシステム（以下、「メモリシステム」ともいう）１について説明する。
【００１１】
図１に示すように、実施形態の半導体メモリ装置２は、パソコンまたはデジタルカメラ等のホストデバイス３と着脱可能に接続されるメモリカード、または、ホストデバイス３の内部に収納され、ホストデバイス３の起動データ等を記録する、いわゆるエンベデッドタイプの記憶装置等である。または、半導体メモリ装置２とホストデバイス３とが、ＳＳＤ（Solid State Disk）、または、携帯音楽プレーヤであるＭＰ３プレーヤ等の、メモリシステム１を構成していてもよい。半導体メモリ装置２は、半導体メモリ部（以下、単に「メモリ部」ともいう。）３０と、メモリコントローラ１０とを有する。
【００１２】
メモリ部３０はＮＡＮＤ型フラッシュメモリであり、単位セルである多数のメモリセル３１が、書き込みに用いるビット線および読み出しに用いるワード線等で接続された構造を有する。なお、ＮＡＮＤ型のメモリ部３０は、メモリセル３１を駆動するのに必要な導線を複数のセルで共有している。このためデータの書き込み／読み込みはページと呼ばれる複数ビット単位で、消去はブロックと呼ばれる複数のページ単位、例えば６４ページ単位で一括して行われる。
【００１３】
メモリコントローラ１０は、バス１７を介して接続された、ＲＯＭ１９と、制御部であるＣＰＵ１１と、ＲＡＭ１４と、ホスト  Ｉ／Ｆ（インターフェイス）１８と、記憶するデータの符号化処理および記憶されたデータの復号処理を行う誤り訂正（ＥＣＣ：Error Correcting Code）部２０と、ＮＡＮＤ  Ｉ／Ｆ（インターフェイス）２１と、を有する。なお、ＥＣＣ機能をホストデバイス３が有する場合にはＥＣＣ部２０は不要である。
【００１４】
メモリコントローラ１０は、ＣＰＵ１１を用いて、ホストＩ／Ｆ１８を介してホストデバイス３とのデータ送受信を、ＮＡＮＤ  Ｉ／Ｆ２１を介してメモリ部３０とのデータ送受信を行う。半導体メモリ装置２の動作時に、ＲＡＭ１４には、後述するように、論理アドレス／物理アドレス変換テーブル（以下、「論物変換テーブル」という）１６が記憶されており、論物変換テーブル１６は随時、書き換えられていく。
【００１５】
ここで、図２に示すように半導体メモリ部３０を構成する複数のメモリセル３１は、消去単位である複数の物理ブロックに区分される。一方、半導体メモリ装置２と接続されたホストデバイス３は論理空間における各メモリセル３１の位置を示す論理アドレス（ＬＢＡ：Ｌｏｇｉｃａｌ  Ｂｌｏｃｋ  Ａｄｄｒｅｓｓ）によりデータの送受信を指示する。
【００１６】
なお、以下の説明では、論理空間の区分サイズは物理ブロックサイズと同一とし、論理空間１区分（以下、「論理ブロック」と呼ぶ）に対して１個の物理ブロックが対応付けられている論物変換形式とする。すなわち、１個の論理ブロックのサイズは１個の物理ブロックサイズと同一であるが、１個の論理ブロックに対して複数個の物理ブロックが対応付けられている論物変換形式でも良い。
【００１７】
ＣＰＵ１１は、論物変換テーブル１６にもとづいて論理アドレスと物理アドレスの変換を行うアドレス変換部（不図示）等の動作をファームウエア（ＦＷ）により実行する。ホストデバイス３からのコマンド入力に応じた半導体メモリ装置２全体の制御、例えばウェアレベリング処理等もＣＰＵ１１においてＦＷで実行される。なお、それぞれの処理専用、例えばウェアレベリング処理用のドライバーまたは、ＩＣ等を有していてもよい。ＲＯＭ１９は、半導体メモリ装置２の制御プログラム等が格納されている記憶部であり、メモリ部３０の一部または図示しない不揮発性記憶部にもメモリコントローラ１０が半導体メモリ装置２を制御するための情報、例えば論物変換テーブル１６等が記憶される。
【００１８】
そして、図３（Ａ）および図３（Ｂ）に示すように、メモリ部３０は、第１の領域である領域Ａ（４１Ａ１、４１Ａ２）と、第２の領域である領域Ｂ（４１Ｂ１、４１Ｂ２）と、第３の領域である領域Ｃ（４１Ｃ１、４１Ｃ２）と、フリーブロック領域（４２）と、に分類される。
【００１９】
領域Ａ、領域Ｂ、および領域Ｃに対しては、フリーブロック領域（４２）から１以上のブロックが割り当てられている。なお、メモリ部３０は、少なくとも２つの領域に区分して管理されていればよく、例えば、領域Ｃは設定されていなくとも構わない。ホストデバイス３またはメモリコントローラ１０は、どの論理アドレス範囲が領域Ａ、領域Ｂおよび領域Ｃに対応するかを管理している。フリーブロック領域（４２）には論理アドレスが割り当てられていない。
【００２０】
ここで、フリーブロック領域（４２）は、複数の書き込み可能ブロック、言い替えれば複数の記憶可能ブロックからなる。ＮＡＮＤ型のメモリ部３０は、いわゆるオーバーライト動作が行えないために、ブロックの消去処理をしてから書き込み処理を行う必要がある。また、１ページの書き替えでも、例えば６４ページからなるブロック全てを書き替える必要がある。後述するように、半導体メモリ装置２では、フリーブロック領域（４２）を準備することにより、ウェアレベリング処理を行っている。
【００２１】
なお、データの更新に伴い領域Ａ、領域Ｂ、または領域Ｃから解放されたブロックは、フリーブロック領域（４２）に登録する時に消去処理を実行してもよいし、新たに領域Ａ、領域Ｂ、または領域Ｃに割り当てられる時に消去処理を実行してもよいし、任意のタイミングで消去処理を実行してもよい。
【００２２】
領域Ａは、書き替え頻度が高い論理アドレス範囲のデータを記憶する単数または複数のブロックからなる。領域Ｂは、書き替え頻度が低い論理アドレス範囲のデータを記憶する単数または複数のブロックからなる。フリーブロック領域は、領域Ａまたは領域Ｂからの解放順にエントリされた単数または複数の記憶可能ブロックからなる。領域Ｃは、書き替えが必要ない論理アドレス範囲のデータを記憶する複数のブロックからなり、フリーブロック領域との書き替え処理の対象とはならない。ホストデバイス３またはメモリコントローラ１０は、用途に応じて領域Ａ、領域Ｂ、および領域Ｃの論理アドレス範囲を設定する。
【００２３】
例えば、領域Ａは、ホストデバイス３のシステム動作時のログなどを記憶するデータ領域であり、その書き換え頻度は領域Ｂに比較して高い。領域Ｂは、ホストデバイス３が実行するファームウェアなどを記憶するプログラム領域であり、その書き換え頻度は領域Ａに比較して低い。領域Ｃは、半導体メモリ装置２の起動データまたはホストデバイス３のブートコードなど、システムの基本的な動作に必要な重要情報が記憶されている領域である。
【００２４】
そして、図３（Ａ）に示すように、半導体メモリ装置２のメモリコントローラ１０は、領域Ａ（４１Ａ１、４１Ａ２）のブロックに記憶されたデータを書き替える（更新する）ときに、書き替え後のデータをフリーブロック領域の最上位エントリのブロック（４２Ｔ）にコピーするとともに、元々データが記憶されていたブロックを領域Ａ（４１Ａ１、４１Ａ２）から解放して、フリーブロック領域の最下位（４２Ｂ）にエントリするように制御する。
【００２５】
すなわち、論物変換テーブル１６のフリーブロック領域４２の最上位エントリのブロック（４２Ｔ）を、領域Ａの論理アドレスに変更し、元々データが記憶されていた領域Ａのブロックをフリーブロック領域の最下位（４２Ｂ）に割り当てる。すなわち、ブロックを開放するとは、このブロックについて論理アドレスとの関連付けを無効化し、フリーブロック領域４２に割り当てることを意味する。
【００２６】
解放されたブロックはフリーブロック領域４２の最下位にエントリされ、フリーブロック領域４２の最上位のブロック（４２Ｔ）から順に書き込み処理に割り当てられるため、データ更新が発生するブロックについては循環的な割り当てが行われることになり、同一のブロックが連続的に書き換えに使用されることはない。換言すれば、領域Ａは書き替えのときに自動的にウェアレベリング処理が行われる。
【００２７】
さらに、図３（Ｂ）に示すように、メモリコントローラ１０は、所定のタイミングで、領域Ｂ（４１Ｂ１、４１Ｂ２）のブロックに記憶されたデータを、フリーブロック領域４２の最上位エントリのブロック４２Ｔにコピーするとともに、データが記憶されていた領域Ｂのブロックを領域Ｂから解放してフリーブロック領域４２の最下位４２Ｂにエントリするように制御する。
【００２８】
領域Ｂに割り当てられたブロックは書き換え頻度の低いデータを保持しているため、本実施の形態を適用しない場合、データ更新によってフリーブロック領域４２へ割り当てられる機会が少なく、ほとんど書き換えがされないままである。従って、領域Ａとフリーブロックとの間だけでブロックの循環がなされ、記憶領域全体に亘る均一なウェアレベリング処理を行うことができない。一方で本実施の形態を適用する場合、書き替え頻度が低いブロックからなる領域Ｂ（４１Ｂ１、４１Ｂ２）から、所定のタイミングでブロックを解放することにより、メモリ部３０として、より均一なウェアレベリング処理を行う。
【００２９】
なお、領域Ｂのウェアレベリング処理を行うタイミングとしては、メモリ部３０に記憶されるデータの書き替え回数、所定の時間間隔または所定の起動回数等に、もとづくことが好ましく、接続されたホストデバイス３からのコマンド指示に、もとづくことが特に好ましい。
【００３０】
なお、領域Ｂ（４１Ｂ１、４１Ｂ２）のウェアレベリング処理は、領域に記憶されている全てのデータを一度に書き替え処理してもよいが、時間を要する。このため、所定のタイミング毎に、領域Ｂのブロックに記憶されたデータの一部を、順に書き替え処理することが好ましい。例えば、ホストデバイス３からのコマンド指示があるたびに、領域Ｂの書き替え対象ブロックをずらしていくことにより、データの一部を、順に書き替え処理することができる。
【００３１】
また、領域Ｃについても、領域Ｂと同様に所定のタイミングでウェアレベリング処理を行うことにより、メモリ部３０として、より均一なウェアレベリング処理を行うことができる。しかし、領域Ｃは重要な情報が記憶されている。データの書き替え処理にはデータが破損する可能性があるため、領域Ｃはウェアレベリング処理の対象外とすることが好ましい。
【００３２】
本実施の形態のメモリ装置２およびメモリシステム１は、メモリ部３０として、より均一なウェアレベリング処理を行うことができるために、製品寿命が長い。
【００３３】
次に図４のフローチャートを用いて、本実施の形態のメモリ装置２およびメモリシステム１の処理の流れについて詳細に説明する。
【００３４】
＜ステップＳ１０＞  論物変換テーブル読み込み処理
例えば、メモリ装置２は、ホストデバイス３と接続されることにより電力が供給されて（Ｓ１０：Ｙｅｓ）稼働状態となる。すると、不揮発性メモリ部に記憶されていた、論物変換テーブル１６がＲＡＭ１４に転送される。そして、ＣＰＵ１１は論物変換テーブル１６をもとに、データの書き込み処理／読み出し処理を、終了指示があるまで（Ｓ１１：Ｙｅｓ）、繰り返して行う。なお、以下は、データの書き込み処理についてのみ説明する。
【００３５】
＜ステップＳ１１＞  第１のウェアレベリング処理
ホストデバイス３からシステム動作ログなどのデータが送信されると、ＥＣＣ２０にて符号化処理が行われ、メモリ部３０の第１の領域である領域Ａ（４１Ａ１等）に記憶される。このとき、既に記憶されているブロックの一部のデータの書き替え処理となる場合には、メモリコントローラ１０の制御により、書き替え後のデータをフリーブロック領域４２の最上位エントリのブロック４２Ｔに記憶するとともに、データが記憶されていたブロックを第１の領域から解放してフリーブロック領域４２の最下位のブロック４２Ｂにエントリする。
【００３６】
言い換えれば、フリーブロック領域４２の最上位エントリのブロック４２Ｔに、領域Ａの論理アドレスが割り当てられる。データが記憶されていたブロックは消去処理されて記憶可能ブロックとして、領域Ａの論理アドレスからフリーブロック領域４２の最下位のブロック４２Ｂに変更される。すなわち、領域Ａは、通常の書き替え処理において、自動的にウェアレベリング処理が行われる。
【００３７】
＜ステップＳ１２＞  
ホストデバイス３から、領域Ｂのウェアレベリング処理開始の指示を行う専用コマンド（以下、「専用コマンド」という）が発行されるまでは（Ｎｏ）、ステップＳ１０からの通常の処理が繰り返し行われる。
【００３８】
ここで、専用コマンドは、メモリ部３０に記憶されるデータの書き替え回数、所定の時間間隔または所定の起動回数等にもとづき発行される。データの書き替え回数にもとづく場合には、例えば、Ｎ回（Ｎは自然数）の書き込み処理コマンドの発行毎にホストデバイス３が、専用コマンドを発行する。時間間隔の場合には、毎日１回、週に１回、または、２時間に１回のように専用コマンドが発行される。起動回数は、例えば、メモリシステム１の起動回数がカウントされ、所定の起動回数になるとコマンドが発行される。
【００３９】
なお、専用コマンドを受信した半導体メモリ装置２は、直ちに領域Ｂのウェアレベリング処理を開始してもよいが、他の処理が行われていない、いわゆるアイドリング時間にウェアレベリング処理を開始するようにしてもよい。
【００４０】
なお、本実施の形態の半導体メモリ装置２では、専用コマンド発行のタイミングを決定する前記回数等は、ホストデバイス３が管理しているが、半導体メモリ装置２が管理してもよい。さらに、半導体メモリ装置２ではホストデバイス３からの専用コマンドの指示にもとづき、領域Ｂのウェアレベリング処理を開始するタイミングが決定されるが、ホストデバイス３からの専用コマンドではなく、半導体メモリ装置が半導体メモリ部３０に記憶されるデータの書き替え回数、所定の時間間隔または所定の起動回数等にもとづき、自ら所定のタイミングを決定し、領域Ｂのウェアレベリング処理を行ってもよい。
【００４１】
以上の説明のように、専用コマンド発行の所定のタイミングは、メモリ部３０に記憶されるデータの書き替え回数、所定の時間間隔もしくは所定の起動回数のいずれか等、または接続されたホストデバイス３からのコマンド指示に、もとづく。ただし、ホストデバイス３もメモリ部３０に記憶されるデータの書き替え回数、所定の時間間隔または所定の起動回数のいずれか等にもとづき専用コマンドを発行する。
【００４２】
＜ステップＳ１３＞  第２のウェアレベリング処理
ホストデバイス３から、専用コマンドが発行される（Ｓ１３：Ｙｅｓ）と、メモリコントローラ１０の制御により、領域Ｂのウェアレベリング処理が行われる。すなわち、領域Ｂの一つのブロックに記憶されたデータは、フリーブロック領域４２の最上位エントリのブロック４２Ｔにコピーされるとともに、データが記憶されていた領域Ｂのブロックは領域Ｂから解放されフリーブロック領域４２の最下位のブロック４２Ｂにエントリするようにメモリコントローラ１０により制御される。
【００４３】
＜ステップＳ１４＞  
領域Ｂの、例えば所定数の複数のブロックについて、順にステップＳ１３の処理が行われる。所定数のブロックについての処理が完了する（Ｙｅｓ）と、領域Ｂのウェアレベリング処理は、いったん、終了してステップＳ１１からの通常の処理が行われる。
なお、領域Ｂのうち、どこまでウェアレベリング処理されたかは、ＣＰＵ１１が記憶しており、次のコマンド入力があったときには、続きの処理が行われる。
【００４４】
ここで、１回のコマンドにより、ウェアレベリング処理するブロックの数は適宜、定められる。もちろん、１度に領域Ｂの全てのブロックについて処理してもよい。また、１回のコマンドにより処理するブロック数ではなく、ウェアレベリング処理に要する処理時間等により制御してもよい。
【００４５】
＜ステップＳ１５＞  データ待避処理
半導体メモリ装置２の動作がＯＦＦ状態となる（Ｓ１０：Ｎｏ）場合、その前にデータ待避処理が行われる。すなわち、ＲＡＭ１４に記憶されていた論物変換テーブル１６およびウェアレベリング処理情報等が、不揮発性メモリ部に記憶される。
【００４６】
上記動作を行う半導体メモリ装置２および半導体メモリ装置２を有するメモリシステム１は、均一なウェアレベリング処理を行うために製品寿命が長い。
【００４７】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００４８】
１…半導体メモリシステム、２…半導体メモリ装置、３…ホストデバイス、１０…メモリコントローラ、１１…ＣＰＵ、１４…ＲＡＭ、１６…論物変換テーブル、１７…バス、１９…ＲＯＭ、２０…ＥＣＣ部、３０…半導体メモリ部、３１…メモリセル、４２…フリーブロック領域、４２Ｂ…最下位ブロック、４２Ｔ…最上位ブロック
【図１】
2012014400.tif 000003
【図２】
2012014400.tif 000004
【図３】
2012014400.tif 000005
【図４】
2012014400.tif 000006