(57)【要約】【課題】ホストからのアクセスが中断されることなく、不揮発性メモリの交換を可能とすることができる記憶装置、その制御方法及びその記憶装置を用いた電子装置を提供すること。【解決手段】ホスト２８から受信したデータをメインＳＬＣ１２ａに書き込むデータ書き込み部３２と、メインＳＬＣ１２ａの消去回数が書き込み可能回数に関連する所定回数に到達したかを判定する判定部４０と、メインＳＬＣ１２ａに書き込まれたデータのうち、一定時間以上、ホストから書き込みアクセスのないＬＢＡのデータを、メインＳＬＣ１２ａよりも書き込み速度の遅いＭＬＣ１０に転送するデータ転送部３４と、を有し、データ書き込み部３２は、メインＳＬＣ１２ａの消去回数が前記所定回数に到達したと判定された後、ホストから受信するデータをＭＬＣよりも書き込み速度の速いスペアＳＬＣ１２ｂに書き込む記憶装置である。【選択図】図１
2010266962.tif 000002
【特許請求の範囲】
【請求項１】
外部から受信したデータを第１不揮発性メモリに書き込むデータ書き込み部と、
前記第１不揮発性メモリの書き込み回数又は消去回数が書き込み可能回数に関連する所定回数に到達したかを判定する判定部と、
前記第１不揮発性メモリに書き込まれたデータのうち、一定時間以上、前記外部から書き込みアクセスのない論理ブロックアドレスのデータを、前記第１不揮発性メモリよりも書き込み速度の遅い第２不揮発性メモリに転送するデータ転送部と、を有し、
前記データ書き込み部は、前記第１不揮発性メモリの書き込み回数又は消去回数が前記所定回数に到達したと判定された後、前記外部から受信するデータを前記第２不揮発性メモリよりも書き込み速度の速い第３不揮発性メモリに書き込むことを特徴とする記憶装置。
【請求項２】
前記第１不揮発性メモリの書き込み回数又は消去回数が前記所定回数に到達したと判定されたときに前記第１不揮発性メモリに書き込まれていた全てのデータの論理ブロックアドレスに対応するデータが、前記第２不揮発性メモリ及び前記第３不揮発性メモリに書き込まれた後、前記第１不揮発性メモリを電気的に切り離して交換要求を報知する報知部を有することを特徴とする請求項１記載の記憶装置。
【請求項３】
外部から受信したデータを第１不揮発性メモリに書き込むデータ書き込み工程と、
前記第１不揮発性メモリの書き込み回数又は消去回数が書き込み可能回数に関連する所定回数に到達したかを判定する判定工程と、
前記第１不揮発性メモリに書き込まれたデータのうち、一定時間以上、前記外部から書き込みアクセスのない論理ブロックアドレスのデータを、前記第１不揮発性メモリよりも書き込み速度の遅い第２不揮発性メモリに転送するデータ転送工程と、を有し、
前記データ書き込み工程は、前記第１不揮発性メモリの書き込み回数又は消去回数が前記所定回数に到達したと判定された後、前記外部から受信するデータを第２不揮発性メモリよりも書き込み速度の速い第３不揮発性メモリに書き込むことを特徴とする記憶装置の制御方法。
【請求項４】
請求項１又は２記載の記憶装置を備えることを特徴とする電子装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶装置、その制御方法及びその記憶装置を備える電子装置に関する。
【背景技術】
【０００２】
パーソナルコンピュータ等に用いられる記憶装置として、近年、磁気ディスク装置（ＨＤＤ：Hard Disk Drive）の代わりに、不揮発性メモリであるフラッシュメモリを用いた記憶装置（ＳＳＤ：Solid State Drive）が開発されている。フラッシュメモリは、一般に、ＨＤＤと比較して、耐振動性及び低消費電力性において優れている。
【０００３】
フラッシュメモリは、データの書き込み可能回数が有限であるという特徴を有する。例えば、多値フラッシュメモリ（ＭＬＣ：Multi Level Cell）では１万回、二値フラッシュメモリ（ＳＬＣ：Single Level Cell）では１０万回である。
【０００４】
また、多値フラッシュメモリは、二値フラッシュメモリと比較して、面積当りの記憶容量は優れているが、書き込み速度や消去速度が劣るという特徴がある。このため、ホストから受信したデータを、まず、書き込み速度の速い二値フラッシュメモリに書き込み、その後バックグランドで、多値フラッシュメモリにデータを移動させる技術が提案されている（例えば、特許文献１）。これによれば、多値フラッシュメモリの書き込み速度の遅さはホストには見えず、且つ、面積当りの記憶容量を稼ぐことができる。
【０００５】
また、データの書き込み可能回数が有限であるフラッシュメモリを用いた記憶装置では、フラッシュメモリや記憶装置の寿命を延ばす様々な技術が提案されている（例えば、特許文献２から５）。
【０００６】
例えば、特許文献２及び３には、書き込み回数が書き込み可能回数に近づいたフラッシュメモリを新たなフラッシュメモリと交換することで、記憶装置の寿命を延ばす構成が記載されている。特許文献４には、フラッシュメモリへの書き込み回数を抑制する方法を提案することで、フラッシュメモリの寿命を延ばす構成が記載されている。特許文献５には、記憶装置内の複数のフラッシュメモリを順次切換えて使用することで、記憶装置の寿命を延ばす構成が記載されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】米国特許５６７１３８８号明細書
【特許文献２】特開２００２−４９５３５号公報
【特許文献３】特開平１０−１８８５８４号公報
【特許文献４】特開２００８−１８６２９５号公報
【特許文献５】特開平１１−２９６４３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
特許文献１の方法では、ホストからのデータは二値フラッシュメモリに一旦書き込まれるため、二値フラッシュメモリの書き込み可能回数が優れていても、書き込み回数が書き込み可能回数を超えてしまう場合があり得る。このため、記憶装置の寿命を延ばすには、書き込み可能回数に近づいた二値フラッシュメモリを新たな二値フラッシュメモリに交換することが考えられる。
【０００９】
また、ホストからは絶えず新たな書き込みアクセスや読み出しアクセスがされているため、二値フラッシュメモリの交換が必要になった場合でも、ホストからのアクセスが中断されないことが求められている。
【００１０】
そこで、本発明は、ホストからのアクセスが中断されることなく、不揮発性メモリの交換を可能とすることができる記憶装置、その制御方法及びその記憶装置を用いた電子装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本明細書に記載の記憶装置は、外部から受信したデータを第１不揮発性メモリに書き込むデータ書き込み部と、前記第１不揮発性メモリの書き込み回数又は消去回数が書き込み可能回数に関連する所定回数に到達したかを判定する判定部と、前記第１不揮発性メモリに書き込まれたデータのうち、一定時間以上、前記外部から書き込みアクセスのない論理ブロックアドレスのデータを、前記第１不揮発性メモリよりも書き込み速度の遅い第２不揮発性メモリに転送するデータ転送部と、を有し、前記データ書き込み部は、前記第１不揮発性メモリの書き込み回数又は消去回数が前記所定回数に到達したと判定された後、前記外部から受信するデータを前記第２不揮発性メモリよりも書き込み速度の速い第３不揮発性メモリに書き込むことを特徴とする記憶装置である。
【００１２】
これによれば、第１不揮発性メモリの書き込み回数又は消去回数が所定回数に到達したときに書き込まれていたデータの論理ブロックアドレスに対応するデータを、第２不揮発性メモリ及び第３不揮発性メモリに書き込むことができる。また、第１不揮発性メモリの書き込み回数又は消去回数が所定回数に到達した後に外部から受信するデータを第３不揮発性メモリに書き込むため、外部からのアクセスが中断されることはない。したがって、外部からのアクセスを中断することなく、第１不揮発性メモリの交換を可能とすることができる。
【００１３】
本明細書に記載の記憶装置の制御方法は、外部から受信したデータを第１不揮発性メモリに書き込むデータ書き込み工程と、前記第１不揮発性メモリへの書き込み回数又は消去回数が書き込み可能回数に関連する所定回数に到達したかを判定する判定工程と、前記第１不揮発性メモリに書き込まれたデータのうち、一定時間以上、前記外部から書き込みアクセスのない論理ブロックアドレスのデータを、前記第１不揮発性メモリよりも書き込み速度の遅い第２不揮発性メモリに転送するデータ転送工程と、を有し、前記データ書き込み工程は、前記第１不揮発性メモリの書き込み回数又は消去回数が前記所定回数に到達したと判定された後、前記外部から受信するデータを前記第２不揮発性メモリよりも書き込み速度の速い第３不揮発性メモリに書き込むことを特徴とする記憶装置の制御方法である。
【００１４】
これによれば、第１不揮発性メモリの書き込み回数又は消去回数が所定回数に到達したときに書き込まれていたデータの論理ブロックアドレスに対応するデータを、第２不揮発性メモリ及び第３不揮発性メモリに書き込むことができる。また、第１不揮発性メモリの書き込み回数又は消去回数が所定回数に到達した後に外部から受信するデータを第３不揮発性メモリに書き込むため、外部からのアクセスが中断されることはない。したがって、外部からのアクセスを中断することなく、第１不揮発性メモリの交換を可能とすることができる。
【００１５】
本明細書に記載の電子装置は、本明細書に記載の記憶装置を備えている。
【００１６】
これによれば、記憶装置へのアクセスが中断されず、且つデータの書き込み可能回数が多い電子装置を得ることができる。
【発明の効果】
【００１７】
本明細書に記載の記憶装置及びその制御方法によれば、外部からのアクセスを中断することなく、第１不揮発性メモリの交換を可能とすることができるという効果を奏する。また、本明細書に記載の電子装置によれば、記憶装置へのアクセスが中断されず、且つデータ書き込み可能回数が多い電子装置が得られるという効果を奏する。
【図面の簡単な説明】
【００１８】
【図１】図１は実施例に係るフラッシュＳＳＤの構成を説明するブロック図である。
【図２】図２（ａ）から図２（ｃ）は不揮発性メモリ管理テーブルを説明する図である。
【図３】図３は実施例に係るフラッシュＳＳＤのＭＰＵの機能ブロック図である。
【図４】図４は実施例に係るフラッシュＳＳＤのＭＰＵが行う制御を説明するフローチャートである。
【図５】図５は実施例に係るフラッシュＳＳＤのＭＰＵが行うバックグランド処理を説明するフローチャートである。
【図６】図６はメインＳＬＣに書き込まれたデータのＬＢＡに対応するデータを、スペアＳＬＣ及びＭＬＣに書き込むことを説明する図である。
【図７】図７（ａ）から図７（ｃ）はＳＬＣの交換方法を説明するためのＳＬＣとメモリースロットの斜視図である。
【図８】図８は実施例に係るフラッシュＳＳＤを備えた電子装置のブロック図である。
【発明を実施するための形態】
【００１９】
以下、図面を参照して、本発明の記憶装置の実施例としてフラッシュＳＳＤ（Solid State Drive）１００について説明する。
【実施例】
【００２０】
図１は、実施例に係るフラッシュＳＳＤ１００のブロック図である。図１のように、フラッシュＳＳＤ１００は、多値フラッシュメモリ（ＭＬＣ）１０、二値フラッシュメモリ（ＳＬＣ）１２、ＲＯＭ（Read Only Memory）１６、メモリ１８、ＭＰＵ（Micro Processing Unit）２０、ＳＳＤ（Solid State Drive）コントローラ２２、及びバッファ２４、を有する。メモリ１８とバッファ２４は、例えばＲＡＭ（Random Access Memory）からなる。ＭＬＣ１０は、前述したように、ＳＬＣ１２に比べて書き込み速度や消去速度が劣るという特徴があり、例えば、ＳＬＣ１２の書き込み速度は２００μｓ、消去速度は１．５ｍｓから２ｍｓであるのに対し、ＭＬＣ１０の書き込み速度は８００μｓ、消去速度は２．５ｍｓから３ｍｓである。なお、読み出し速度については、ＭＬＣ１０とＳＬＣ１２とは同程度で殆ど差異はない。また、ＭＬＣ１０の書き込み可能回数は、例えば１万回であり、ＳＬＣ１２の書き込み可能回数、例えば１０万回に比べて劣るという特徴がある。
【００２１】
ＭＬＣ１０及びＳＬＣ１２（以下、併せてフラッシュメモリと総称する場合がある）は、ホスト（外部）２８から受信するライトデータを記憶する記憶用素子として用いられる。フラッシュメモリは、複数の物理ブロックに分割された記憶領域を有し、分割された物理ブロック単位でデータの書き込み及び読み出しを実行すると共に、当該物理ブロックを複数有するブロック単位でデータの消去を実行する。
【００２２】
ＳＬＣ１２は、メインＳＬＣ１２ａとスペアＳＬＣ１２ｂとで構成される。通常、ホスト２８から受信したライトデータは全てメインＳＬＣ１２ａに書き込まれ、スペアＳＬＣ１２ｂはコールドスタンバイ状態にある。メインＳＬＣ１２ａに書き込まれたデータの中で、一定時間以上更新されないデータ（つまり、一定時間以上書き込みアクセスがない論理ブロックアドレスのデータ）については、ＭＬＣ１０に転送する。メインＳＬＣ１２ａの消去回数が書き込み可能回数に関連する所定回数に到達すると、スペアＳＬＣ１２ｂは稼動を開始し、新たな書き込みアクセスはスペアＳＬＣ１２ｂを使用する。これらのことの詳細については後述する。なお、ＭＬＣ１０の個数及びＳＬＣ１２の個数は、図１に示す個数に限られる訳ではない。
【００２３】
ＲＯＭ１６は、ＭＰＵ２０によって実行されるファームウェアが予め格納されている。フラッシュＳＳＤ１００の電源が投入されると、ＲＯＭ１６に格納されているファームウェアは、メモリ１８にロードされる。ＭＰＵ２０は、メモリ１８にロードされたファームウェアに従い、メインＳＬＣ１２ａへのライトデータの書き込み、及びＳＬＣ１２やＭＬＣ１０からのリードデータの読み出し等、フラッシュＳＳＤ１００全体の制御を行う。
【００２４】
ＳＳＤコントローラ２２は、ホスト２８との間の各種コマンド及びデータの授受の制御を行う。バッファ２４は、インターフェース（Ｉ／Ｆ）２６を介してホスト２８から送信されたコマンドやライトデータ、ＳＬＣ１２やＭＬＣ１０から読み出されたリードデータ等を一時的に記憶する。また、バッファ２４は、不揮発性メモリ管理テーブルを有する。
【００２５】
ここで、図２（ａ）から図２（ｃ）を用い、不揮発性メモリ管理テーブルの説明をする。なお、本実施例では、１物理ブロックは、例えば、５２８Ｂｙｔｅであるとして説明する。図２（ａ）のように、物理ブロックは、ユーザデータが書き込まれるデータ領域（５１２Ｂｙｔｅ）と、不揮発性メモリ管理情報が書き込まれる領域（１２Ｂｙｔｅ）と、ユーザデータや不揮発性メモリ管理情報のエラー検出訂正に用いられるＥＣＣ（Error Check and Correct）領域（４Ｂｙｔｅ）とで構成される。
【００２６】
図２（ｂ）に、不揮発性メモリ管理情報（１２Ｂｙｔｅ）に書き込まれるデータを示す。図２（ｂ）のように、不揮発性メモリ管理情報は、状態（１Ｂｙｔｅ）、消去回数（３Ｂｙｔｅ）、書き込み時の累積電源投入時間（４Ｂｙｔｅ）、及び論理ブロックアドレス（４Ｂｙｔｅ）のデータを有する。
【００２７】
状態とは、当該物理ブロックが書き込み可能であるか、データ領域に書き込まれているデータは有効データであるか無効データであるか、及び当該物理ブロックは消去回数が書き込み可能回数に関連する所定回数に到達しており使用不可であるか等を示す。
【００２８】
消去回数は、当該物理ブロックに行われたデータ消去の累積回数を示す。
【００２９】
書き込み時の累積電源投入時間は、フラッシュＳＳＤ１００に最初に電源投入してから、当該物理ブロックに現在書き込まれているデータの書き込みを行ったときまでの経過時間を示す。なお、フラッシュＳＳＤ１００への最初の電源投入とは、フラッシュＳＳＤ１００に始めて電源投入したときの意味であり、フラッシュＳＳＤ１００の電源を落とした後、再度電源を投入したときをいうものではない。
【００３０】
論理ブロックアドレス（以下、ＬＢＡと称する）は、当該物理ブロックに対応するＬＢＡを示す。
【００３１】
図２（ｃ）に、不揮発性メモリ管理テーブルを示す。図２（ｃ）のように、不揮発性メモリ管理テーブルは、フラッシュメモリの全ての物理ブロックが各々有する不揮発性メモリ管理情報が収集されて構築される。図２（ｃ）においては、オフセットアドレスを４４倍した値がフラッシュメモリの物理ブロックアドレスを示す。また、物理ブロックの状態が００は書き込み可能であることを示し、０１は無効データを有することを示し、０２は有効データを有することを示し、９９は消去回数が書き込み可能回数に関連する所定回数に到達した為使用不可であることを示し、これら以外は不良ブロックであることを示す。また、ＬＢＡは、ＦＦＦＦＦＦＦＦはアドレス未割り当てで、それ以外はアドレス割り当て済みであることを示す。
【００３２】
このような不揮発性メモリ管理テーブルは、フラッシュメモリからデータを読み出す際のＬＢＡに対応する物理ブロックの検索や、データの書き込み後にＬＢＡの古いデータを削除するための物理ブロックの検索に使用される。また、フラッシュメモリの各物理ブロックの消去回数を平準化する為にも使用される。
【００３３】
図３は、実施例に係るフラッシュＳＳＤ１００が有するＭＰＵ２０の機能ブロック図である。図３のように、ＭＰＵ２０は、管理テーブル構築部３０、データ書き込み部３２、データ転送部３４、データ読み出し部３６、データ消去部３８、判定部４０、及び報知部４２を備える。これらはシステムバス４４で互いに接続し、また、ＲＯＭ１６に予め格納されているファームウェアをＭＰＵ２０が実行することにより行われる。
【００３４】
管理テーブル構築部３０は、フラッシュＳＳＤ１００の電源が投入（再投入を含む）された後、フラッシュメモリの全ての物理ブロックが各々有する不揮発性メモリ管理情報を収集し、バッファ２４上に不揮発性メモリ管理テーブルを構築する。また、管理テーブル構築部３０は、ライトデータの書き込み時及びデータの消去時における不揮発性メモリ管理情報の更新に併せて、不揮発性メモリ管理テーブルを更新する。
【００３５】
データ書き込み部３２は、ホスト２８からＬＢＡと共に受信したライトデータをメインＳＬＣ１２ａに書き込むと共に、書き込み先の物理ブロックの不揮発性メモリ管理情報（状態、書き込み時の累積電源投入時間、ＬＢＡ）を更新する。また、データ書き込み部３２は、後述する判定部でメインＳＬＣ１２ａの消去回数が書き込み可能回数に関連する所定回数に到達したと判定された場合、その後にホスト２８からＬＢＡと共に受信するライトデータについてはスペアＳＬＣ１２ｂに書き込む。
【００３６】
データ転送部３４は、メインＳＬＣ１２ａに書き込まれたデータのうち、一定時間以上、ホスト２８から書き込みアクセスのないＬＢＡのデータをＭＬＣ１０に転送する。
【００３７】
データ読み出し部３６は、不揮発性管理テーブルを参照して、ホスト２８から受信した読み出しコマンドのＬＢＡに対応する物理ブロックを検索し、当該物理ブロックからデータを読み出す。
【００３８】
データ消去部３８は、ＭＬＣ１０に移動されたデータが元々書き込まれていたメインＳＬＣ１２ａの物理ブロックを含むブロックや無効データを有する物理ブロックを含むブロックについてデータの消去を行う。データ消去部３８は、これらのデータ消去に応じて、物理ブロックの不揮発性メモリ管理情報（状態、消去回数、ＬＢＡ）を更新する。
【００３９】
判定部４０は、不揮発性メモリ管理テーブルを参照して、メインＳＬＣ１２ａの物理ブロックにおいて、消去回数が書き込み可能回数に関連する所定回数に到達したかを判定する。なお、書き込み可能回数とは、書き込みが行える最大の回数のことであり、書き込み可能回数を超えると書き込みが不能となる回数のことである。書き込み可能回数に関連する所定回数とは、書き込み可能回数より小さい回数のことである。つまり、例えば、書き込み可能回数が１０万回のメインＳＬＣの場合は、書き込み可能回数に関連する所定回数を、例えば９万５千回とすることができる。このように、書き込み可能回数に関連する所定回数は、書き込み可能回数より小さく且つ書き込み可能回数に近い回数の場合が好ましい。
【００４０】
報知部４２は、判定部４０によりメインＳＬＣ１２ａの消去回数が所定回数に到達したと判定されたときにメインＳＬＣ１２ａに書き込まれていた全てのデータのＬＢＡに対応するデータが、スペアＳＬＣ１２ｂ及びＭＬＣ１０に書き込まれた後、メインＳＬＣ１２ａを電気的に切り離して交換要求をホスト２８に報知する。
【００４１】
次に、図４のフローチャートを用い、フラッシュＳＳＤ１００のＭＰＵ２０の制御について説明する。図４のように、フラッシュＳＳＤ１００の電源が投入されると、ＭＰＵ２０は、不揮発性メモリ管理テーブルを構築する（ステップＳ１０）。具体的には、ＭＰＵ２０は、フラッシュメモリの全面リードを行い、フラッシュメモリの物理ブロックが各々有する不揮発性メモリ管理情報を収集して、バッファ２４上に不揮発性メモリ管理テーブルを構築する。
【００４２】
不揮発性メモリ管理テーブルの構築が完了した後、ＭＰＵ２０は、バックグランド処理を実行する（ステップＳ１２）。バックグランド処理は、ホスト２８からライトコマンドやリードコマンドを受信していない場合に随時実行される。ここで、図５のフローチャートを用い、バックグランド処理について詳細に説明する。
【００４３】
図５のように、ＭＰＵ２０は、不揮発性メモリ管理テーブルを参照して、一定時間以上、ホスト２８からの書き込みアクセスのないＬＢＡを検索する。具体的には、現在の累積電源投入時間と、不揮発性メモリ管理テーブル上のデータ書き込み時の累積電源投入時間と、を比較することで、一定時間以上書き込みアクセスのないＬＢＡを検索する。そして、ＭＰＵ２０は、一定時間以上書き込みアクセスのないＬＢＡのデータを、メインＳＬＣ１２ａからＭＬＣ１０に転送する（ステップＳ３０）。
【００４４】
次に、ＭＰＵ２０は、ＭＬＣ１０に転送したデータが元々書き込まれていたメインＳＬＣ１２ａの物理ブロックを含むブロックのデータ消去を行う（ステップＳ３２）。併せて、ＭＰＵ２０は、無効データを保有する物理ブロックを含むブロックのデータ消去も行う（ステップＳ３２）。そして、ＭＰＵ２０は、データ消去に応じて、不揮発性メモリ管理情報（状態、消去回数、ＬＢＡ）を更新し、併せて、不揮発性メモリ管理テーブルを更新する。
【００４５】
次に、ＭＰＵ２０は、不揮発性メモリ管理テーブルを参照して、メインＳＬＣ１２ａの消去回数が書き込み可能回数に関連した所定回数に到達したかを判定する（ステップＳ３４）。具体的には、ＭＰＵ２０は、不揮発性メモリ管理テーブル上の消去回数が、所定回数（例えば、９万５千回）に到達している物理ブロックが存在するかを判定する。
【００４６】
所定回数に到達したと判定された場合（Ｙｅｓの場合）、ＭＰＵ２０は、メインＳＬＣ１２ａへの新しいライトデータの書き込みを中止し、新たな書き込みアクセスについてはスペアＳＬＣ１２ｂを使用する（ステップＳ３６）。つまり、メインＳＬＣ１２ａの消去回数が所定回数に到達した後、スペアＳＬＣ１２ｂをメインとして用い、新たなライトデータはスペアＳＬＣ１２ｂに書き込む。
【００４７】
次に、ＭＰＵ２０は、メインＳＬＣ１２ａの消去回数が所定回数に到達したときにメインＳＬＣ１２ａに書き込まれていた全てのデータのＬＢＡに対応するデータが、スペアＳＬＣ１２ｂ及びＭＬＣ１０に書き込まれたかを判定する（ステップＳ３８）。
【００４８】
ここで、図６を用い、メインＳＬＣ１２ａに書き込まれていた全てのデータのＬＢＡに対応するデータが、スペアＳＬＣ１２ｂ及びＭＬＣ１０に書き込まれることを説明する。なお、図６においては、フラッシュメモリ各々の記憶領域は、例えば、４つの物理ブロックに分割されている場合を示している。図６（ａ）のように、メインＳＬＣ１２ａの消去回数が書き込み可能回数に関連した所定回数に到達したと判定された際、メインＳＬＣ１２ａの４つの物理ブロックにはＬＢＡ０からＬＢＡ３のデータが書き込まれているとする。
【００４９】
ここで、ＬＢＡ２とＬＢＡ３について、一定時間以上、ホスト２８から書き込みアクセスがなかった場合、図６（ｂ）のように、メインＳＬＣ１２ａに書き込まれていたＬＢＡ２とＬＢＡ３のデータはＭＬＣ１０に転送される。
【００５０】
次に、ホスト２８からＬＢＡ０とＬＢＡ１について新たな書き込みコマンドを受信した場合、図６（ｃ）のように、ＬＢＡ０とＬＢＡ１の新たなライトデータは、メインＳＬＣ１２ａには書き込まれずに、スペアＳＬＣ１２ｂに書き込まれる。
【００５１】
このようにして、メインＳＬＣ１２ａの消去回数が所定回数に到達したときに書き込まれていた全てのデータのＬＢＡに対応するデータを、スペアＳＬＣ１２ｂ及びＭＬＣ１０に書き込むことができる。
【００５２】
図５に戻り、ステップＳ３８でスペアＳＬＣ１２ｂ及びＭＬＣ１０に書き込まれたと判定した後（Ｙｅｓの場合）、ＭＰＵ２０は、メインＳＬＣ１２ａをフラッシュＳＳＤ１００から電気的に切り離してホスト２８に交換要求を報知する（ステップＳ４０）。
【００５３】
図４に戻り、ＭＰＵ２０は、ホスト２８からコマンドを受信した場合、当該コマンドを実行する（ステップＳ１４）。まず、ＭＰＵ２０は、受信したコマンドが書き込みコマンドであるか読み出しコマンドであるかを判別する（ステップＳ１６）。書き込みコマンドである場合はステップＳ１８に進み、読み出しコマンドである場合はステップＳ２２に進む。
【００５４】
ステップＳ１８において、ＭＰＵ２０は、受信したライトデータをメインＳＬＣ１２ａのフリーエリアの物理ブロックに書き込む。そして、ＭＰＵ２０は、当該物理ブロックの不揮発性メモリ管理情報（状態、書き込み時の累積電源投入時間、ＬＢＡ）を更新する。
【００５５】
次に、ＭＰＵ２０は、不揮発性メモリ管理テーブルを確認し、ステップＳ１８で割り当てたＬＢＡの古いデータが書き込まれている物理ブロックの不揮発性メモリ管理情報を、無効データを有する状態に書き換える（ステップＳ２０）。この不揮発性メモリ管理情報の更新に併せて、ＭＰＵ２０は、不揮発性メモリ管理テーブルも更新する。
【００５６】
ステップＳ２２においては、ＭＬＣ２０は、不揮発性メモリ管理テーブルを確認し、ホスト２８から受信した読み出しコマンドのＬＢＡに対応する物理ブロックを検索し、当該物理ブロックからデータを読み出す。
【００５７】
以上のように、実施例によれば、メインＳＬＣ１２ａの消去回数が書き込み可能回数に関連する所定回数に到達する前は、ホスト２８から受信した全てのライトデータをメインＳＬＣ１２ａに書き込む。そして、消去回数が書き込み可能回数に関連する所定回数に到達した後に受信したライトデータは、スペアＳＬＣ１２ｂに書き込む。また、メインＳＬＣ１２ａに書き込まれたデータのうち、一定時間以上、書き込みアクセスのないＬＢＡのデータはＭＬＣ１０に転送する。これにより、メインＳＬＣ１２ａの消去回数が所定回数に到達したときに書き込まれていたデータのＬＢＡに対応するデータを、スペアＳＬＣ１２ｂ及びＭＬＣに書き込むことができる。つまり、メインＳＬＣ１２ａを交換可能な状態とすることができる。
【００５８】
ここで、メインＳＬＣ１２ａの消去回数が所定回数に到達した後にホスト２８から受信するデータをスペアＳＬＣ１２ｂに書き込むことで、ホスト２８からのアクセスが中断されることはない。つまり、ホスト２８の運用を止めることなく、データの書き込み先がメインＳＬＣ１２ａからスペアＳＬＣ１２ｂに移行され、メインＳＬＣ１２ａを交換可能な状態にすることができる。したがって、実施例によれば、ホスト２８からのアクセスを中断することなく（つまり、ホスト２８の運用を止めることなく）、メインＳＬＣ１２ａの交換を可能とさせることができる。
【００５９】
また、ホスト２８から受信するデータは、まずは書き込み速度の速いＳＬＣ１２に書き込み、その後バックグランド処理で、一定時間以上書き込みアクセスのないＬＢＡのデータをＳＬＣ１２よりも書き込み速度は遅いが記憶容量の大きいＭＬＣ１０に転送する。これにより、ホスト２８にはＭＬＣ１０の書き込み速度の遅さは見えず、且つ、単位面積当りの記憶容量を増やすことができる。なお、ＭＬＣ１０とＳＬＣ１２との読み出し速度は殆ど差異がないため、ＭＬＣ１０とＳＬＣ１２とのどちらにデータが書き込まれていても、データを読み出す際に問題となることはない。
【００６０】
また、メインＳＬＣ１２ａの消去回数が書き込み可能回数に関連する所定回数に到達したときに書き込まれていた全てのデータのＬＢＡに対応するデータが、スペアＳＬＣ１２ｂ及びＭＬＣ１０に書き込まれたかを確認する。そして、スペアＳＬＣ１２ｂ及びＭＬＣ１０に書き込まれたことを確認した後、メインＳＬＣ１２ａを電気的に切り離して交換要求をホスト２８に報知する。これにより、メインＳＬＣ１２ａの交換要求が報知された後、すぐにメインＳＬＣ１２ａを交換しなくても済むようになり、十分に時間的余裕を持ってメインＳＬＣ１２ａの交換作業に対応することが可能となる。また、メインＳＬＣ１２ａは電気的に切り離されているため、メインＳＬＣ１２ａを交換する際に、フラッシュＳＳＤ１００の電源を落とす必要もなく、ホスト２８からのアクセスを中断することもない。
【００６１】
これにより、メインＳＬＣ１２ａのみを交換することで、フラッシュＳＳＤ１００の寿命を延ばすことができ、フラッシュＳＳＤ１００を丸々交換する場合に比べて、経済的、環境的に優れた効果が得られる。
【００６２】
ここで、図７を用いて、メインＳＬＣ１２ａを新たなＳＬＣ１２に交換する工程を説明する。図７（ａ）は、ＳＬＣ１２の斜視図である。図７（ａ）のように、ＳＬＣ１２の一方の側面には、ＰＩＮ５０が２４ヶ所設けられている。ＳＬＣ１２の他方の側面にも同様に、ＰＩＮ５０が２４ヶ所設けられている。２４ヶ所設けられたＰＩＮ５０のうち、ＳＬＣ１２の両側面共に、一方の端側のＰＩＮ５２は電源（Power）に接続するＰＩＮであり、他方の端側のＰＩＮ５４はグランドに接続するＰＩＮである。また、ＰＩＮ５２とＰＩＮ５４との間のＰＩＮ５０は、入出力（Ｉ／Ｏ）、ＮＣ（No Connection）、ＲＹ／ＢＹ（ready Busy）、ＣＥ（Chip Enable）、ＣＬＥ（Cmd Latch Enable）、ＡＬＥ（Address Latch Enable）、ＷＥ（Write Enable）、ＷＰ（Write Protect）に関するＰＩＮである。グランドに接続するＰＩＮ５４の長さは、他のＰＩＮよりも長くなっており、後述するメモリースロット５６にＳＬＣ１２を差し込んだ際に、グランドのＰＩＮ５４から接触する構造になっている。
【００６３】
図７（ｂ）は、メモリースロット５６の斜視図であり、メモリースロット５６は、ＳＬＣ１２とＳＳＤコントローラ２２を結ぶインターフェースである。図７（ｂ）の矢印方向に、図７（ａ）で説明したＳＬＣ１２が差し込まれる。
【００６４】
図７（ｃ）は、メモリースロット５６の内部を透視した斜視図である。図７（ｃ）のように、メモリースロット５６の内部には、ＳＬＣ１２が差し込まれた際、ＳＬＣ１２に設けられたＰＩＮ５０に対応する位置に、ＰＩＮ  Ｈａｌｌ５８が設けられている。ＳＬＣ１２がメモリースロット５６に差し込まれ、ＳＬＣ１２に設けられたＰＩＮ５０が、メモリースロット５６に設けられたＰＩＮ  Ｈａｌｌ５８に接触することで、ＳＬＣ１２はＳＳＤコントローラ２２と電気的に接続するようになる。このようにして取り付けた新たなＳＬＣ１２は、スペアＳＬＣとして用いられ、メインＳＬＣの消去回数が書き込み可能回数に関連する所定回数に到達するまでは、コールドスタンバイ状態にある。
【００６５】
なお、実施例において、ホスト２８から受信するデータの書き込み先を、メインＳＬＣ１２ａの消去回数が書き込み可能回数に関連する所定回数に到達したかにより、メインＳＬＣ１２ａからスペアＳＬＣ１２ｂに切換えたが、これに限られる訳ではない。例えば、メインＳＬＣ１２ａへのデータの書き込み回数をカウントして、書き込み回数が書き込み可能回数に関連する所定回数に到達したかにより、ホスト２８から受信するデータの書き込み先を切換えてもよい。
【００６６】
図８は、実施例に係るフラッシュＳＳＤ１００を備えた電子装置２００のブロック図である。図８のように、電子装置２００は、フラッシュＳＳＤ１００と、コントローラ（ＣＰＵ）２０２と、インターフェース（Ｉ／Ｆ）２０４と、を有する。インターフェース２０４は外部との間でデータの授受を行う。コントローラ２０２は、フラッシュＳＳＤ１００内のＳＳＤコントローラ２２との間の各種コマンドやデータの制御を行う。例えば、インターフェース２０４を介して外部から入力されたデータを、フラッシュＳＳＤ１００内のフラッシュメモリに書き込むよう、ＳＳＤコントローラ２２に指示を出す。また、コントローラ２０２は、フラッシュＳＳＤ１００内のフラッシュメモリからデータを読み出すようＳＳＤコントローラ２２に指示を出す。電子装置２００の例としては、電話機、オーディオ機、パソコン、レコーダー等のデータを記憶する装置が挙げられる。特に、背景技術で説明したように、フラッシュＳＳＤ１００は耐振動性や低消費電力性に優れているため、電子装置２００は、携帯型電話機、携帯型オーディオ機、ノートパソコン等の持ち運びを行う装置である場合が好ましい。このような電子装置２００は、フラッシュＳＳＤ１００へのアクセスが中断することなく、且つ、書き込み可能回数が多い（長寿命）という効果が得られる。
【００６７】
上述した実施例は、本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の趣旨を逸脱しない範囲内において種々の変形実施が可能である。
【符号の説明】
【００６８】
１０  多値フラッシュメモリ（ＭＬＣ）
１２  二値フラッシュメモリ（ＳＬＣ）
１６  ＲＯＭ
１８  メモリ
２０  ＭＰＵ
２２  ＳＳＤコントローラ
２４  バッファ
２６  Ｉ／Ｆ
２８  ホスト
３０  管理テーブル構築部
３２  データ書き込み部
３４  データ転送部
３６  データ読み出し部
３８  データ消去部
４０  判定部
４２  報知部
１００  フラッシュＳＳＤ
２００  電子装置
【図１】
2010266962.tif 000003
【図２】
2010266962.tif 000004
【図３】
2010266962.tif 000005
【図４】
2010266962.tif 000006
【図５】
2010266962.tif 000007
【図６】
2010266962.tif 000008
【図７】
2010266962.tif 000009
【図８】
2010266962.tif 000010